Skip to main content

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

Project description

Quaestor

๐Ÿ›๏ธ Keep your AI assistant on track and actually useful

Python License: MIT PyPI

Quaestor gives your AI assistant the context it needs to actually help you code. It analyzes your project, generates smart documentation, and keeps Claude from going off the rails.

๐ŸŽฏ Why?

Ever had Claude forget what you were working on? Or suggest patterns that don't match your codebase? Yeah, us too.

Quaestor fixes that by:

  • ๐Ÿง  Understanding your code: Detects your stack, patterns, and architecture automatically
  • ๐Ÿ“š Keeping context: Maintains what's been done and what's next across sessions
  • ๐ŸŽฎ Enforcing standards: Makes sure AI follows YOUR project's patterns, not generic ones
  • ๐Ÿ“Š Tracking progress: Knows what's done, what's in progress, what's next
  • โœ… Quality gates: Won't let AI claim "done" until tests pass and linters are happy

๐Ÿ“ฆ Installation

Quickest (no install needed)

# Just run it
uvx quaestor init

If you want it installed

# Global install with uv
uv tool install quaestor

# Or add to your project
uv add quaestor

# Old school pip works too
pip install quaestor

๐Ÿš€ Getting Started

1. Initialize in your project:

quaestor init

This will:

  • ๐Ÿ” Scan your code to figure out what you're building
  • ๐Ÿ’ฌ Ask a few smart questions based on what it finds
  • ๐Ÿ“ Generate context files that AI assistants actually understand
  • โœจ Set you up for success

2. What you get:

  • CLAUDE.md - Instructions for your AI assistant (root dir so Claude auto-reads it)
  • .quaestor/ARCHITECTURE.md - Your actual architecture (not hallucinated)
  • .quaestor/MEMORY.md - What's been done, what's next
  • .quaestor/commands/ - Battle-tested workflows

3. Just start coding:

When you open your project with Claude, it automatically reads these files and knows:

  • Your project structure
  • Your coding standards
  • What you're working on
  • How to test and validate changes

๐Ÿ“ What goes where

your-project/
โ”œโ”€โ”€ CLAUDE.md              # AI reads this first
โ””โ”€โ”€ .quaestor/
    โ”œโ”€โ”€ ARCHITECTURE.md    # Your real architecture
    โ”œโ”€โ”€ MEMORY.md          # Progress tracking
    โ””โ”€โ”€ commands/          # Workflows that work
        โ”œโ”€โ”€ project-init.md # Smart project analysis
        โ”œโ”€โ”€ task-py.md     # Python workflows
        โ”œโ”€โ”€ task-rs.md     # Rust workflows
        โ”œโ”€โ”€ check.md       # Quality checks
        โ””โ”€โ”€ compose.md     # Template combos

๐ŸŒŸ What it does

Right now

  • ๐Ÿ” Smart Analysis:

    • Figures out your stack (React? Django? FastAPI? etc.)
    • Detects your patterns (MVC? DDD? Microservices?)
    • Finds your tools (PostgreSQL? Redis? Docker?)
  • ๐Ÿค– Context Generation:

    • Writes docs FROM your code, not assumptions
    • Tracks progress from git history
    • Asks the right questions
  • ๐Ÿ“ AI-Friendly Format:

    • Special markers for precise edits
    • Structured data that won't get mangled
    • Designed for LLMs, not humans
  • ๐ŸŽฏ Command System:

    • init - Smart setup with code analysis
    • task-py / task-rs - Language-specific workflows
    • check - Make sure everything's clean
    • compose - Combine templates for complex stuff
    • milestone-commit - Auto-commit completed work with PRs

Coming soon

  • Git Review: Automated PR reviews that actually understand your code
  • Auto Docs: Keep docs in sync with code automatically
  • More Languages: task-js, task-go, etc.
  • Team Sync: Share context across your team

๐Ÿ—๏ธ How it actually works

When you run quaestor init:

  1. Scans your project:

    • Looks for package.json, requirements.txt, Cargo.toml, etc.
    • Detects frameworks from imports and dependencies
    • Figures out your architecture from folder structure
  2. Asks smart questions:

    • Only asks what it can't figure out
    • Questions based on what it found
    • Skips the obvious stuff
  3. Generates real docs:

    • Architecture based on your actual code
    • Progress from your git history
    • Standards from your existing patterns

The special format

We use a markdown format that LLMs can reliably parse and edit:

<!-- SECTION:architecture:database:START -->
```yaml
database:
  type: PostgreSQL
  orm: SQLAlchemy
  migrations: Alembic

This lets AI make precise edits without breaking your docs.

## ๐Ÿ”— Part of something bigger

Quaestor is part of Praetor - tools for engineers who actually like coding but want AI to handle the boring stuff. You stay in control, AI does the grunt work. It's just that most of it is my head.

## ๐Ÿ’ป Contributing

```bash
# Get the code
git clone https://github.com/jeanluciano/quaestor.git
cd quaestor

# Setup
uv sync

# Test it
uv run pytest

# Try it
uv run python main.py init

๐Ÿ“š Command Templates

  • project-init.md - Analyzes your project and sets everything up
  • task-py.md - Python implementation with all the checks
  • task-rs.md - Rust implementation with clippy and all
  • check.md - Fix all the things
  • compose.md - Combine templates for complex operations
  • milestone-commit.md - Auto-commit completed TODOs and create PRs

๐Ÿ”„ Workflow Hooks

Quaestor now includes automatic workflow hooks that trigger after certain events:

  • After completing a TODO: Automatically commits your work
  • After updating MEMORY.md: Checks for completed items and commits them
  • When milestone is complete: Creates a pull request automatically

These hooks are configured in CLAUDE.md and integrated into the task commands. They ensure:

  • Clean git history with atomic commits
  • Automatic quality checks before commits
  • Progress tracking stays in sync
  • PRs are created when milestones are done

๐Ÿ“„ License

MIT - Use it however you want.

๐Ÿค Contributing

PRs welcome! Just make sure tests pass and linters are happy.

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.2.1.tar.gz (56.4 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.2.1-py3-none-any.whl (58.4 kB view details)

Uploaded Python 3

File details

Details for the file quaestor-0.2.1.tar.gz.

File metadata

  • Download URL: quaestor-0.2.1.tar.gz
  • Upload date:
  • Size: 56.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for quaestor-0.2.1.tar.gz
Algorithm Hash digest
SHA256 39f072a19f9b7aba355a30a8cfca3245ab1573d2dbefb9b66af99175240c8b5f
MD5 59777550c92fae693ee6fee0f291a95b
BLAKE2b-256 9ab9f5421f1315e55aecea6a1592ed376a8515accfa26a3b96114dc8c6c33ee1

See more details on using hashes here.

Provenance

The following attestation bundles were made for quaestor-0.2.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.2.1-py3-none-any.whl.

File metadata

  • Download URL: quaestor-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 58.4 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.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 938ef5ddda6c12c1deefb02776c6c6e2916ea26f9bf3ad6d77fcc8bfe5ee689b
MD5 f97d1dd0440a27ed2722bb230e0c5055
BLAKE2b-256 bca9e04e8e8c40fd3ab633256da5e28fa8ebd41bffd35aac212f248a66920c03

See more details on using hashes here.

Provenance

The following attestation bundles were made for quaestor-0.2.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