Skip to main content

AI-assisted development context management tool for maintaining consistency and productivity

Project description

Quaestor

๐Ÿ›๏ธ Context management for AI-assisted development

PyPI Version Python 3.12+ License: MIT

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

  1. Project Analysis - Scans for language, tests, complexity
  2. Context Generation - Creates appropriate CLAUDE.md rules
  3. Command Setup - Installs commands (local or global)
  4. Customization - Allows per-project overrides
  5. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

quaestor-0.4.1.tar.gz (113.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

quaestor-0.4.1-py3-none-any.whl (130.5 kB view details)

Uploaded Python 3

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

Hashes for quaestor-0.4.1.tar.gz
Algorithm Hash digest
SHA256 5812418c28b61833500668f37233c75f28654b87327bcccc6ffe79d4986fbab8
MD5 8674823a0cf4a52555e519830920efe9
BLAKE2b-256 4acc9f6dc92232af1e792127773b4144b77117b3a5a56f867f1bee3d78a6487a

See more details on using hashes here.

Provenance

The following attestation bundles were made for quaestor-0.4.1.tar.gz:

Publisher: publish.yml on jeanluciano/quaestor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for quaestor-0.4.1-py3-none-any.whl
Algorithm Hash digest
SHA256 39bf029ad6269432cf711e6fe3446a530e3a5a69b85c4cd393951e1b0c395127
MD5 cf5ae24e9b988b498382ac304f502a47
BLAKE2b-256 2aa27ffc3d61ec6afd087327d5d17e0772f4c25d92106b001a47bfb09ac108fc

See more details on using hashes here.

Provenance

The following attestation bundles were made for quaestor-0.4.1-py3-none-any.whl:

Publisher: publish.yml on jeanluciano/quaestor

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page