AI-assisted development context management tool for maintaining consistency and productivity
Project description
Quaestor
๐๏ธ Context management for AI-assisted development
Quaestor provides intelligent context management and quality enforcement for AI assistants, with flexible modes for personal and team projects.
Why Quaestor?
AI assistants like Claude are powerful but need context. Quaestor provides:
- ๐ง Smart Context - Automatically adjusts rules based on project complexity
- ๐ฏ Flexible Modes - Personal mode for solo work, team mode for collaboration
- โ๏ธ Command Customization - Override and configure commands per project
- ๐ Progress Tracking - Maintain project memory and milestones
- โ Quality Enforcement - Ambient rules that work outside commands
Quick Start
# Personal mode (default) - Everything local to your project
uvx quaestor init
# Team mode - Shared commands, committed rules
uvx quaestor init --mode team
Personal Mode (Default)
Creates a self-contained setup in your project:
project/
โโโ .claude/ # All AI files (gitignored)
โ โโโ CLAUDE.md # Context-aware rules
โ โโโ commands/ # Local commands
โ โโโ settings.json # Hooks
โโโ .quaestor/ # Architecture & memory
Team Mode
For shared projects with consistent standards:
project/
โโโ CLAUDE.md # Team rules (committed)
โโโ .quaestor/ # Shared documentation
โโโ ~/.claude/ # Global commands
Now Claude can use commands with project-specific behavior:
/task: implement user authentication
/status
/configure
Installation
# No install needed (recommended)
uvx quaestor init
# Or install globally
pip install quaestor
Commands
CLI Commands:
quaestor init- Initialize with smart defaults--mode personal(default) - Local, self-contained setup--mode team- Shared commands and rules--contextual(default) - Analyze project complexity
quaestor configure- Customize command behavior--init- Create command configuration--command <name> --create-override- Override specific commands
quaestor update- Update while preserving your changes
AI Assistant Commands:
/task- Implement features with orchestration/status- Show progress with velocity tracking/analyze- Code analysis across multiple dimensions/milestone- Manage phases with completion detection/check- Quality validation and fixing/auto-commit- Conventional commits for TODOs/milestone-pr- Automated PR creation/project-init- Framework detection and project setup
Key Features
๐ง Context-Aware Commands
Quaestor commands use patterns for better Claude integration:
- Auto-activation โ Context-aware triggers and thresholds
- Performance profiling โ Standard, optimization, and complex execution modes
- Quality gates โ Error fixing with parallel agents
- Token efficiency โ Reduction through symbol system
Rules work ambiently in CLAUDE.md, not just in commands!
โ๏ธ Command Customization
Configure commands per project with .quaestor/command-config.yaml:
commands:
task:
enforcement: strict
parameters:
minimum_test_coverage: 90
max_function_lines: 30
custom_rules:
- "All APIs must have OpenAPI specs"
- "Database changes require migrations"
Or create full overrides in .quaestor/commands/task.md.
๐ฏ Flexible Modes
Installation modes determine where files are stored:
Personal Mode (Default):
- Everything local in
.claude/ - Perfect for solo developers
- Commands and context in one place
- Fully gitignored
Team Mode:
- Shared standards in
.quaestor/ - Global commands in
~/.claude/ - Consistent across team
- Version controlled rules
Note: Both modes support all command complexity levels. Mode choice is about file organization, not project complexity.
๐ Smart Project Analysis
- Auto-detects language (Python, Rust, JS/TS, Go, Java, etc.)
- Identifies test frameworks and CI/CD
- Recognizes team markers (CODEOWNERS, PR templates)
- Calculates complexity score
๐ Workflow Orchestration
Adaptive workflow based on scope:
- Direct execution: <10 files โ Read + Edit operations
- Parallel agents: 10-50 files โ Multi-agent coordination
- Complex systems: >50 files โ Systematic agent delegation
- Quality cycles: Execute โ Validate โ Fix โ Complete
- Auto-escalation: Complexity threshold triggers
๐ Command Complexity Thresholds
Commands adapt their behavior based on task complexity (0.0-1.0):
- Standard (0.2-0.4): Quick, focused operations (e.g.,
/status,/milestone) - Optimization (0.4-0.6): Balanced efficiency with smart features (e.g.,
/check) - Complex (0.6-0.8): Full orchestration and deep analysis (e.g.,
/task,/analyze)
Thresholds control: auto-activation features, parallel processing, quality gates, and error recovery.
Project Structure
Personal Mode (Default)
your-project/
โโโ .claude/ # All AI files (gitignored)
โ โโโ CLAUDE.md # Context-aware rules
โ โโโ commands/ # Local command copies
โ โ โโโ task.md
โ โ โโโ status.md
โ โ โโโ ...
โ โโโ settings.json # Hooks configuration
โโโ .quaestor/ # Optional, for docs
โ โโโ ARCHITECTURE.md # Project structure
โ โโโ MEMORY.md # Progress tracking
โ โโโ command-config.yaml # Command customization
โ โโโ commands/ # Command overrides
โ โโโ task.md # Custom task command
โโโ .gitignore # Auto-updated
Team Mode
your-project/
โโโ CLAUDE.md # Team rules (committed)
โโโ .quaestor/ # Shared documentation
โ โโโ QUAESTOR_CLAUDE.md # AI instructions
โ โโโ CRITICAL_RULES.md # Quality standards
โ โโโ ARCHITECTURE.md # Project structure
โ โโโ MEMORY.md # Progress tracking
โ โโโ command-config.yaml # Command config
โ โโโ hooks/ # Automation scripts
โโโ ~/.claude/commands/ # Global commands
โโโ .claude/settings.json # Local hooks only
How It Works
- Project Analysis - Scans for language, tests, complexity
- Context Generation - Creates appropriate CLAUDE.md rules
- Command Setup - Installs commands (local or global)
- Customization - Allows per-project overrides
- Smart Updates - Preserves your changes
Example Workflows
Simple Task Example:
You: /task: add config parser
Claude: Auto-detects Python project, applies ruff+pytest standards
- Direct implementation with quality validation (standard profile)
- Updates milestone progress automatically
- Conventional commit with smart scope detection
Complex Task Example:
You: /task: refactor authentication system
Claude: Complex threshold 0.7+ โ orchestration mode
1. "Analyzing current auth architecture..." ๐
2. "Using agents for parallel refactoring..." โก
3. "Quality gates: tests, linting, security validation" โ
4. "Milestone tracking updated, PR ready" ๐
Note: Task complexity is independent of installation mode. Both personal and team modes support all complexity levels.
Command Customization Example
Create project-specific rules:
quaestor configure --init
Edit .quaestor/command-config.yaml:
commands:
task:
enforcement: strict
custom_rules:
- "All endpoints must have rate limiting"
- "Use dependency injection pattern"
Now /task enforces your project standards!
Automated Hooks
Optional hooks enforce quality automatically:
- Pre-edit - Ensure research before changes
- Post-edit - Format code, update progress
- Pre-commit - Run tests and quality checks
- Milestone - Track progress, create PRs
Configure in .claude/settings.json (created during init).
Ambient Rule Enforcement
Unlike command-only systems, Quaestor's rules work everywhere:
<!-- In your CLAUDE.md -->
## ๐ง THINKING PATTERNS
Before EVERY response, I'll consider:
1. **Complexity Check**:
- Simple request? โ Direct implementation
- Multiple components? โ "Let me research and plan this"
2. **Delegation Triggers**:
if (files_to_modify > 3) {
say("I'll spawn agents to handle this efficiently")
}
Claude follows these patterns even outside /task commands!
Updating
# Check what would change
quaestor update --check
# Update with backup
quaestor update --backup
# Force update all files
quaestor update --force
Updates preserve your customizations in user-editable files.
Contributing
git clone https://github.com/jeanluciano/quaestor.git
cd quaestor
uv sync
uv run pytest
License
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file quaestor-0.4.1.tar.gz.
File metadata
- Download URL: quaestor-0.4.1.tar.gz
- Upload date:
- Size: 113.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5812418c28b61833500668f37233c75f28654b87327bcccc6ffe79d4986fbab8
|
|
| MD5 |
8674823a0cf4a52555e519830920efe9
|
|
| BLAKE2b-256 |
4acc9f6dc92232af1e792127773b4144b77117b3a5a56f867f1bee3d78a6487a
|
Provenance
The following attestation bundles were made for quaestor-0.4.1.tar.gz:
Publisher:
publish.yml on jeanluciano/quaestor
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
quaestor-0.4.1.tar.gz -
Subject digest:
5812418c28b61833500668f37233c75f28654b87327bcccc6ffe79d4986fbab8 - Sigstore transparency entry: 278584783
- Sigstore integration time:
-
Permalink:
jeanluciano/quaestor@09914088d7f5df436d99ccb51bc3cb513c07905a -
Branch / Tag:
refs/tags/v0.4.1 - Owner: https://github.com/jeanluciano
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@09914088d7f5df436d99ccb51bc3cb513c07905a -
Trigger Event:
release
-
Statement type:
File details
Details for the file quaestor-0.4.1-py3-none-any.whl.
File metadata
- Download URL: quaestor-0.4.1-py3-none-any.whl
- Upload date:
- Size: 130.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
39bf029ad6269432cf711e6fe3446a530e3a5a69b85c4cd393951e1b0c395127
|
|
| MD5 |
cf5ae24e9b988b498382ac304f502a47
|
|
| BLAKE2b-256 |
2aa27ffc3d61ec6afd087327d5d17e0772f4c25d92106b001a47bfb09ac108fc
|
Provenance
The following attestation bundles were made for quaestor-0.4.1-py3-none-any.whl:
Publisher:
publish.yml on jeanluciano/quaestor
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
quaestor-0.4.1-py3-none-any.whl -
Subject digest:
39bf029ad6269432cf711e6fe3446a530e3a5a69b85c4cd393951e1b0c395127 - Sigstore transparency entry: 278584797
- Sigstore integration time:
-
Permalink:
jeanluciano/quaestor@09914088d7f5df436d99ccb51bc3cb513c07905a -
Branch / Tag:
refs/tags/v0.4.1 - Owner: https://github.com/jeanluciano
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@09914088d7f5df436d99ccb51bc3cb513c07905a -
Trigger Event:
release
-
Statement type: