Skip to main content

Copilot memory persistence - just an installer, no dependencies

Project description

Canon Keeper

Copilot memory persistence - teach Copilot to remember learnings across sessions.

Zero dependencies! Just an installer that sets up copilot-instructions.md.

Install

pip install canon-keeper

That's it! The installer runs automatically during setup and creates .github/copilot-instructions.md.

That's it! The installer creates .github/copilot-instructions.md with:

  • Memory Persistence Protocol (@History directive)
  • Best practices template
  • Session Learnings Log table

In any Copilot chat, say:

In any Copilot chat, say:

@History save what we learned
save this
remember this
add to memory

Copilot will:

  1. Extract learnings from the conversation
  2. Check for duplicates in the Session Learnings Log
  3. Append new learnings to copilot-instructions.md
  4. Report what was saved/skipped

How It Works

No MCP server. No API keys. No runtime dependencies.

The installer just creates a copilot-instructions.md file with a directive that tells Copilot:

  1. When you see @History, extract learnings from the conversation
  2. Read the existing Session Learnings Log
  3. Skip duplicates
  4. Append new rows to the table

Copilot does all the work using its built-in capabilities.

Manual Setup

If you prefer not to use pip, just copy this to .github/copilot-instructions.md:

### Memory Persistence Protocol (@History) - CRITICAL
**Rule:** When the user includes `@History`, `save this`, `remember this`, or `add to memory`:

1. **Extract Learnings:**
   - Analyze the conversation for technical decisions, architectural choices, workarounds
   - Format each as: `| Date | Topic | Decision | Rationale |`

2. **Check for Duplicates:**
   - Read the current `copilot-instructions.md` file
   - Skip any learning semantically equivalent to an existing entry

3. **Append New Learnings:**
   - For each non-duplicate, append a row to the Session Learnings Log table
   - Use today's date (YYYY-MM-DD format)

4. **Report to User:**
   - "✅ Saved X new learning(s): [topics]"
   - "⏭️ Skipped Y duplicate(s): [topics]"

## Session Learnings Log
| Date | Topic | Decision | Rationale |
|------|-------|----------|----------|

Example Session Learnings Log

After a few sessions, your log might look like:

Date Topic Decision Rationale
2026-01-18 MCP Config Format Use "servers" key, not "mcpServers" VS Code MCP expects this format
2026-01-18 Python Venv Use absolute paths in configs ${workspaceFolder} doesn't expand
2026-01-18 Error Handling Fail fast with clear messages Easier debugging

Options

python -m canon_keeper install --workspace /path/to/project  # Specify workspace
python -m canon_keeper install --force                       # Overwrite existing file

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

canon_keeper-0.3.0.tar.gz (5.2 kB view details)

Uploaded Source

Built Distribution

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

canon_keeper-0.3.0-py3-none-any.whl (6.6 kB view details)

Uploaded Python 3

File details

Details for the file canon_keeper-0.3.0.tar.gz.

File metadata

  • Download URL: canon_keeper-0.3.0.tar.gz
  • Upload date:
  • Size: 5.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for canon_keeper-0.3.0.tar.gz
Algorithm Hash digest
SHA256 82ea797d93a24eca618ee131b5f1dd1595a81bfb6697c761af188059973a947c
MD5 15438c7875cb2d8d60717a6b98694b37
BLAKE2b-256 897cbb2fcdde09120e336d500cd31526773d82f6f7dc7bfffe1c3099e27ee97d

See more details on using hashes here.

File details

Details for the file canon_keeper-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: canon_keeper-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 6.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.9

File hashes

Hashes for canon_keeper-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 83f666502b7cc3af82ab1bcdcbf7e629ebffd123580a2a2a918776046af1bf15
MD5 da060f916bc642de653f0ac2027b59ea
BLAKE2b-256 c05a103fe52e52eaaeae5eb503d4100fff4949f29b4073bfbf3f37992e0f51f8

See more details on using hashes here.

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