What Is APC?
APC is a filesystem convention for project-level agent context.
Its purpose is to let a repository declare context that multiple tools can share without rewriting, rediscovering, or leaking runtime-specific data.
The mission
APC is a proposal to the industry.
Today every major AI tool invents its own project folder: .claude/, .codex/, .cursor/, .windsurf/. Each solves the same problem — give the agent durable knowledge about this repository — under a different vendor name.
APC’s mission is for those vendors to converge on one neutral directory: .apc/. The goal is not for developers to manually maintain an extra folder. The goal is for Claude Code, Codex, Cursor, Windsurf, and others to adopt .apc/ as their native default, so the fragmented landscape of branded folders shrinks to one shared name.
APX is the reference runtime that lets teams start using .apc/ today, before that native tool support arrives.
APC is about the project
APC models the idea that some context belongs to the project itself, not only to the current runtime or editor. Examples include:
- which agents exist
- what those agents are responsible for
- which reusable skills the project defines
- which curated long-lived project facts should persist
- which MCP endpoints the project expects to use
This context should remain useful after switching from Codex to Claude Code, from Cursor to OpenCode, or from a local CLI to an automated runner.
APC is not a runtime
APC does not specify:
- a daemon process
- a CLI
- a database engine
- a vendor-specific integration
- a hosted service
- where a specific IDE, CLI, or runtime stores its transcripts, sessions, messages, or private memory
A runtime may consume APC, extend it, cache it, or project it into another interface, but APC itself remains the portable layer.
APC is not a session store
Raw sessions belong outside .apc/.
Sessions are produced by a specific runtime and can contain sensitive data. A Codex session stays in
Codex-owned storage, a Claude Code session stays in Claude-owned storage, and an APX session stays
under APX-owned storage such as ~/.apx/projects/<project-id>/. APC can contain only a curated,
sanitized project fact extracted from that history.
The rule is simple:
- store durable project meaning in APC
- store runtime history in the runtime
- store secrets nowhere in the repository
Canonical example
MyProject/
├── AGENTS.md
└── .apc/
├── project.json
├── agents/
├── skills/
└── mcps.jsonThe exact portable core is intentionally small. APC values stability and clarity over feature volume.