AI Project Memory Framework (APMF) — Universal AI Project Memory & Context Framework
Project description
AI Project Memory Framework
Structured project memory and context management for AI coding agents.
APMF helps an AI agent understand the current state of a long-lived project without scanning the entire repository or replaying the full conversation history.
Project repository: github.com/MellojFront/APMF
Why APMF
- Keeps project identity, constraints, decisions, and tasks in a human-readable format.
- Compiles a small
MEMORY.mdsnapshot for fast session startup. - Exports focused context for one task instead of loading the whole project.
- Works with any coding agent that can read files.
- Keeps memory independent from a specific LLM or editor.
- Encourages Git versioning so project state can be reviewed and rolled back.
Install
Choose one of the following interfaces:
# Zero-install Node.js interface
npx @melloj/apmf init
# Global Node.js CLI
npm install --global @melloj/apmf
# Python CLI
python -m pip install apmf
Both packages provide the apmf and ai-memory commands. The npm package is scoped as @melloj/apmf because npm blocks the unscoped apmf name as too similar to existing packages.
Quick start
Interactive TUI Setup Wizard (Recommended)
Run the interactive setup wizard (similar to BMAD framework setup) to step through environment checks, project metadata, AI assistant selection (Antigravity, Cursor, Claude Code, Copilot), and automatic rule generation:
apmf wizard
# or
apmf init --interactive
# or zero-install
npx @melloj/apmf wizard
Direct initialization
apmf init
# (ai-memory init and ampf init also work as aliases)
APMF creates an isolated .ai-memory/ directory containing the framework state, documentation, schemas, scripts, and task storage. It also generates lightweight bootstrap files for AI agents:
MEMORY.md— the current project snapshot;AGENTS.md— startup and collaboration instructions;.ai-memory/— the full, structured memory store.
If the project is not a Git repository, APMF warns you and offers to run git init. Use --init-git for non-interactive initialization:
apmf init --init-git
Agent Setup & Integration
To generate or update rules and skills for specific AI assistants anytime:
# Generate rules for all supported agents (Antigravity, Cursor, Claude Code, Copilot, Codex)
apmf setup-agent all
# Generate rules for a specific agent
apmf setup-agent codex
apmf setup-agent cursor
apmf setup-agent antigravity
apmf setup-agent claude
Everyday commands
Both apmf and ai-memory (plus the common typo alias ampf) are registered executable commands. apmf is recommended:
# Refresh the project snapshot
apmf compile
# Validate memory units and graph relationships
apmf validate
# Run framework health check and self-diagnostics
apmf doctor
# Show context analytics, token consumption, and budget advice
apmf stats
# Run historical benchmark report (speed, health score 100/100, compression ratio)
apmf benchmark
# Generate printable PDF & HTML executive audit report
apmf report --open
# Generate interactive HTML visualization of memory graph
apmf visualize --open
# Install Git pre-commit hook (auto-validate & compile MEMORY.md on commit)
apmf install-hooks
# Launch Model Context Protocol (MCP) stdio server for LLM integration
apmf mcp
# Archive completed tasks to maintain clean context
apmf archive
# Create a structured task
apmf new-task "Add authentication"
# Export context for one task
apmf task task-001
The focused task export is useful when an AI agent needs the project boundaries and constraints for one piece of work, without receiving unrelated history.
Advanced Features & LLM Integration (v0.3.0)
⚓️ Git Pre-Commit Hooks (install-hooks)
Automatically run memory validation (ai-memory validate) and snapshot compilation (ai-memory compile) before every commit. If MEMORY.md changes during compile, it is staged automatically.
apmf install-hooks
apmf install-hooks --uninstall
🔌 Model Context Protocol Server (mcp)
APMF acts as a standard MCP Server (JSON-RPC 2.0) over stdio. Connect Claude Desktop, Cursor, or Antigravity directly to APMF tools & resources (apmf://snapshot, apmf://tasks).
apmf mcp
📊 Context Analytics & Token Budgeting (stats)
Analyze token consumption across memory units, active/completed tasks, and AI rule files. Receive recommendations to optimize memory context window.
apmf stats
apmf stats --json
🕸️ Interactive HTML Graph Visualizer (visualize)
Generate a rich, interactive HTML visualizer for exploring project entities, decisions, constraints, and task dependencies.
apmf visualize --open
📚 How to Read a Project & Update Memory (Comprehension Protocol)
APMF provides a structured workflow for both AI agents and developers to quickly understand a project and keep its state in sync:
1. Rapid Orientation (Zero-Waste Startup)
Instead of reading all files in a large repository:
- Read
MEMORY.mdimmediately to load Identity, Active Constraints, and Task Backlog. - Run
apmf statsto inspect memory size, active tasks, and context window budget. - Run
apmf visualize --opento visually inspect entity relationships, decisions, and dependencies in an interactive HTML graph.
2. Deep-Dive into Specific Work
When assigned a specific task or feature:
- Run
apmf task task-XXXto export a minimal, targeted context package containing only relevant constraints and memory units for that task.
3. Updating & Syncing Project Memory
When discovering new technical decisions, modifying architecture, or completing tasks:
- Record Knowledge: Create or update unit files in
.ai-memory/units/*.jsonfor new entities, decisions, or constraints. - Update Task Status: Mark finished tasks as
status: completedin.ai-memory/tasks/. - Compile Snapshot: Run
apmf compileto refreshMEMORY.md. - Validate Integrity: Run
apmf validateto verify graph integrity and relationship links.
Project layout after initialization
your-project/
├── .ai-memory/
│ ├── docs/
│ ├── schema/
│ ├── scripts/
│ ├── tasks/
│ ├── units/
│ ├── AGENTS.md
│ └── MEMORY.md
├── AGENTS.md
└── MEMORY.md
The generated .ai-memory/ directory belongs to the project that you initialize. It may contain private project context and should be reviewed before sharing or publishing that project.
Design principles
- Targeted context — load only the context required for the current task.
- State over transcript — preserve the project state, not every conversational turn.
- LLM independence — keep memory in portable files rather than provider-specific storage.
- Human readability — make every important memory unit inspectable and recoverable.
- Git hygiene — use version control for history, review, and rollback.
Development
Run the local test suite and inspect the distributable artifacts:
npm test
npm pack --dry-run
python -m pip install --upgrade build twine
python -m build
Publishing is intentionally a separate, explicit action:
npm publish
python -m twine upload dist/*
Review the generated files and confirm the release before running either publish command.
Automated releases
Public releases use GitHub Actions OIDC Trusted Publishing. No npm or PyPI write token is stored in the repository or GitHub Actions secrets.
Before the first release, configure both registries to trust:
- GitHub repository:
MellojFront/APMF; - workflow file:
.github/workflows/release.yml; - GitHub environment:
release; - npm package name:
@melloj/apmf; - PyPI package name:
apmf.
Then publish a GitHub Release from a version tag such as v0.1.0. The workflow verifies the tag, builds the Python distributions, and publishes to npm and PyPI using short-lived OIDC credentials.
See the official setup guides for npm Trusted Publishing and PyPI Trusted Publishers.
Privacy and public releases
APMF can store project-specific decisions, tasks, paths, and other context in .ai-memory/. Do not publish an initialized project directory without reviewing that data.
The framework packages contain only the reusable implementation, tests, and public documentation. They do not include a user's .ai-memory/ directory, task history, or generated MEMORY.md.
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
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 apmf-0.3.0.tar.gz.
File metadata
- Download URL: apmf-0.3.0.tar.gz
- Upload date:
- Size: 51.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1ad323ed7493340995809ba7795d219253b77155d777ba9ed600e104f4e16519
|
|
| MD5 |
d77e74fe468c6351ff05f263961ff1a4
|
|
| BLAKE2b-256 |
f416f390664af04c5ca32e2fa675472d8a114cd844e25459c5c237999a15339a
|
Provenance
The following attestation bundles were made for apmf-0.3.0.tar.gz:
Publisher:
release.yml on MellojFront/APMF
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
apmf-0.3.0.tar.gz -
Subject digest:
1ad323ed7493340995809ba7795d219253b77155d777ba9ed600e104f4e16519 - Sigstore transparency entry: 2326908609
- Sigstore integration time:
-
Permalink:
MellojFront/APMF@68feb017510f73190180d3493bebd45d60da25a1 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/MellojFront
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@68feb017510f73190180d3493bebd45d60da25a1 -
Trigger Event:
release
-
Statement type:
File details
Details for the file apmf-0.3.0-py3-none-any.whl.
File metadata
- Download URL: apmf-0.3.0-py3-none-any.whl
- Upload date:
- Size: 59.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
753aa3700dcc1c3dfc46b05a345cf7f5a225280066987c7fb95153253a992b56
|
|
| MD5 |
306dbc8bab73fab2c5c37f24b514abbb
|
|
| BLAKE2b-256 |
7abcfcb6b04133cf6f2713baf7f3fe126eb860d76029d70bf346d6c6e0daeda5
|
Provenance
The following attestation bundles were made for apmf-0.3.0-py3-none-any.whl:
Publisher:
release.yml on MellojFront/APMF
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
apmf-0.3.0-py3-none-any.whl -
Subject digest:
753aa3700dcc1c3dfc46b05a345cf7f5a225280066987c7fb95153253a992b56 - Sigstore transparency entry: 2326908924
- Sigstore integration time:
-
Permalink:
MellojFront/APMF@68feb017510f73190180d3493bebd45d60da25a1 -
Branch / Tag:
refs/tags/v0.3.0 - Owner: https://github.com/MellojFront
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@68feb017510f73190180d3493bebd45d60da25a1 -
Trigger Event:
release
-
Statement type: