AI-assisted development context management tool for maintaining consistency and productivity
Project description
Quaestor
๐๏ธ Keep your AI assistant on track and actually useful
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 analysistask-py/task-rs- Language-specific workflowscheck- Make sure everything's cleancompose- Combine templates for complex stuffmilestone-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:
-
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
-
Asks smart questions:
- Only asks what it can't figure out
- Questions based on what it found
- Skips the obvious stuff
-
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 uptask-py.md- Python implementation with all the checkstask-rs.md- Rust implementation with clippy and allcheck.md- Fix all the thingscompose.md- Combine templates for complex operationsmilestone-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
๐ฏ How Milestones & Project Management Work
When you run /quaestor:project:init, the system creates a complete project management framework:
.quaestor/
โโโ MANIFEST.yaml # Project metadata and milestone tracking
โโโ milestones/ # Detailed milestone documentation
โ โโโ foundation/ # Current milestone directory
โ โโโ README.md # Milestone details and tasks
โโโ ARCHITECTURE.md # AI-optimized architecture
โโโ MEMORY.md # Progress tracking
The system uses THREE synchronized tracking systems:
-
MANIFEST.yaml - High-level milestone state
- Current milestone, progress percentages
- Project metadata and dependencies
- Links to all documentation
-
milestones/[name]/README.md - Detailed task lists
- Checkbox task lists (โ completed, ๐ in progress, ๐ to do)
- Success criteria and technical requirements
- Milestone-specific documentation
-
MEMORY.md - Daily progress and context
- What's been done, what's in progress
- Lessons learned and blockers
- Next immediate actions
How It All Works Together
compose.md loads task template
โ
task.md reads MANIFEST.yaml โ finds current: "foundation"
โ
task.md reads .quaestor/milestones/foundation/README.md
โ
Executes work โ Updates task checkboxes
โ
Updates MEMORY.md progress โ Updates MANIFEST.yaml progress
โ
milestone-commit creates atomic commits
โ
When all tasks complete โ PR for milestone
This provides:
- Strategic view (MANIFEST.yaml) - Where are we overall?
- Tactical view (milestone READMEs) - What needs to be done?
- Operational view (MEMORY.md) - What are we doing today?
The commands stay milestone-aware by reading this context, ensuring your AI assistant always knows where you are in the project!
๐ License
MIT - Use it however you want.
๐ค Contributing
PRs welcome! Just make sure tests pass and linters are happy.
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.2.2.tar.gz.
File metadata
- Download URL: quaestor-0.2.2.tar.gz
- Upload date:
- Size: 58.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
774f6b563acb88ae96d13d879ca05baff3be6c9f3e05e21ec6d25244b9f21207
|
|
| MD5 |
adc853216b978c82417b80d966cf4f56
|
|
| BLAKE2b-256 |
41c95b376d18421be094fe0dc9cb28d3805ebea04089af0380efb9603c562e8c
|
Provenance
The following attestation bundles were made for quaestor-0.2.2.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.2.2.tar.gz -
Subject digest:
774f6b563acb88ae96d13d879ca05baff3be6c9f3e05e21ec6d25244b9f21207 - Sigstore transparency entry: 270600719
- Sigstore integration time:
-
Permalink:
jeanluciano/quaestor@39b64132a21381150928158b5bda8204a3929566 -
Branch / Tag:
refs/tags/v0.2.2 - Owner: https://github.com/jeanluciano
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@39b64132a21381150928158b5bda8204a3929566 -
Trigger Event:
release
-
Statement type:
File details
Details for the file quaestor-0.2.2-py3-none-any.whl.
File metadata
- Download URL: quaestor-0.2.2-py3-none-any.whl
- Upload date:
- Size: 59.6 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 |
710505264e240c8f11515dcde1f8cceab0a613ceea452a99f8e345f9442d18ae
|
|
| MD5 |
86fdc3d68ef622bb5abe43c1205a03c2
|
|
| BLAKE2b-256 |
f1b97ba6ec5f858bbfa654415ee85a0dd7c9a9089a0842f1db5b9b8ff42aac03
|
Provenance
The following attestation bundles were made for quaestor-0.2.2-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.2.2-py3-none-any.whl -
Subject digest:
710505264e240c8f11515dcde1f8cceab0a613ceea452a99f8e345f9442d18ae - Sigstore transparency entry: 270600726
- Sigstore integration time:
-
Permalink:
jeanluciano/quaestor@39b64132a21381150928158b5bda8204a3929566 -
Branch / Tag:
refs/tags/v0.2.2 - Owner: https://github.com/jeanluciano
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@39b64132a21381150928158b5bda8204a3929566 -
Trigger Event:
release
-
Statement type: