A minimal, file-based context organizer for humans and AI agents.
All context lives in plain Markdown, YAML, or JSON files — no database, no cloud account, no lock-in. Works from the command line. Easy to version with git.
Every new AI session starts from zero. You re-explain your project, your constraints, your priorities. Context-Kit gives you one maintained source of truth you can paste into any model immediately.
git clone https://github.com/KenoLeon/Context-Kit.git
cd Context-Kit
pip install -r requirements.txt # all deps are optional; stdlib works without thempython cli.py intakeOpens context/context.md in your default editor (creates it on first run).
Write anything relevant — freeform, no required sections or questions.
On first run, a
.gitignoreis automatically created in the project root to prevent generated and sensitive files from being tracked by Git. It ignores:
context/context.md,changelog/changelog.md,exports/(exceptdisplay.html)- Python artifacts (
__pycache__/,.venv/,*.env, etc.)- Editor and OS files (
.vscode/,.DS_Store, etc.)
python cli.py updatePrompts for a short summary, appends a timestamped entry to changelog/changelog.md, and refreshes the Last updated: timestamp at the top of context/context.md.
python cli.py display
# with HTML output opened in browser:
python cli.py display --htmlPrints context.md then changelog.md to stdout, separated by a divider, with a token count at the bottom.
python cli.py export # Markdown (default)
python cli.py export --format yaml # YAML for AI agents
python cli.py export --format json # JSON for APIs
python cli.py export --print # also prints to stdoutWrites to exports/ — always overwrites with the latest export (only one file kept).
YAML and JSON exports include a separate changelog field.
python cli.py resetDeletes context/context.md, changelog/changelog.md, and all exports (except display.html).
Requires typing YES to confirm. Use this to start fresh.
cli.py ← main CLI entry point
requirements.txt
context/
context.md ← your freeform context (edit this; first line is Last updated: timestamp)
examples/
you-in-a-nutshell.md ← human state, energy, constraints
project.md ← status, stack, decisions, next action
freelance-consultant.md ← runway, clients, capacity, pipeline
build-context-master.md ← prompt to generate context-master.md from your sources
build-context-brief.md ← prompt to compress context-master.md into a brief
session-prompt-template.md ← paste at the start of any AI session
sources/ ← your personal corpus (gitignored; see sources/README.md)
changelog/
changelog.md ← timestamped changelog entries (appended by `update`)
exports/
context_export_YYYY-MM-DD.md ← latest shareable export (overwritten each time)
context_export_YYYY-MM-DD.yaml
context_export_YYYY-MM-DD.json
display.html ← rendered HTML (display --html)
- Simplicity — no structure imposed; write whatever is useful.
- Portability — runs on any OS, shareable as a zip or git repo.
- Transparency — all data is human-readable plain text.
- Extensibility — add modules for web/IDE/API without touching core logic.
Not sure what to write? The examples/ folder has three starter templates:
you-in-a-nutshell.md— your human state: energy, bandwidth, hard constraints, what you keep having to re-explainproject.md— any active project: status, stack, decisions already made, next concrete actionfreelance-consultant.md— income picture: runway, clients, capacity, pipeline
Copy any template into context/context.md, delete what doesn't apply, add what's missing.
For a richer context, see the examples/build-context-master.md prompt — run it in Copilot with your sources/ files open to generate a full context-master.md, then compress it to a context-brief.md for daily use.
| Want to add… | Where to start |
|---|---|
| VS Code sidebar panel | webview extension using display output |
| REST API | Flask/FastAPI wrapper around _collect_context() |
| Scheduled daily prompts | cron/Task Scheduler calling cli.py update |
| AI auto-fill | pipe context.md to any LLM with a fill prompt |
| Obsidian / Notion sync | export to JSON, import via their APIs |
MIT