Skip to content

Projects

A project is a place where work happens: a repo, a company, your personal life admin. In APX it is a folder that follows APC (Agent Project Context), an open standard: an AGENTS.md at the root and a .apc/ folder beside it. Your agents, their instructions, the project’s skills and MCP servers all live in those files, so they travel with the folder, show up in git diff, and can be read by any tool that understands the standard.

  • Directoryacme-store/
    • AGENTS.md what the project is and how to work in it
    • Directory.apc/
      • project.json name, description and type
      • memory.md your fixed notes for this project’s agents
      • organization.json areas and roles (companies)
      • mcps.json MCP servers for this project
      • Directoryagents/
        • lucia.md
        • tomas.md
        • vera.md
        • Directory.archived/ removed agents land here, never erased
          • …
      • Directoryskills/
        • Directoryweekly-report/
          • SKILL.md
    • Directorysrc/
      • …
    • …
FileWhat APX does with it
AGENTS.mdProject context every agent here reads, whole: how long it is, is your choice. Only a file past 200,000 characters (a safety limit) is cut to its head and tail; agents are told which lines were left out and read them when they need them, and the project’s settings in the panel (and apx projects list) say so.
.apc/project.jsonname, description and kind. A committed apx_id keeps the project’s id stable; a clone or worktree next to the original gets its own.
.apc/agents/<slug>.mdOne agent each. See Agents.
.apc/memory.mdNotes you write by hand; agents read them and never write them. Up to the same 200,000-character safety limit, they receive the whole file; above it, they receive its head, tail and an omission marker. The panel and CLI truncation notice covers AGENTS.md only, not these notes.
.apc/skills/<name>/SKILL.mdSkills only this project’s agents get. See Skills.
.apc/mcps.json{"mcpServers": …} for this project, with no secrets in it. Each server must be trusted before it runs. See MCP servers.
.apc/organization.jsonAreas and roles for a company (up to 40 areas, 200 roles).

APX watches .apc/ and AGENTS.md. Edit a file in your editor, save it, and the app picks it up a moment later.

Each project has a type, picked when you add it or later in its settings:

TypeFor
PersonalYour own things. No team or structure.
AppAn application people use.
CompanyAreas, roles and an executive team.
SoftwareA library or CLI other programs use.
OtherNone of the above.

Only a Company gets areas and roles. Importing the executive team makes a project a company on its own.

  1. In the sidebar, click New project.
  2. Under Where it lives, pick In a folder and choose the repo or folder, or No folder to make one inside APX’s own folder (~/.apx/v2/projects/<name>).
  3. Give it a name (the folder’s, if you leave it empty), a type and a description, then Add.

If the folder has no AGENTS.md, APX writes a one-line one and creates .apc/. Nothing else in your folder is touched.

Review project context helps turn existing project context, memory, tasks and chats into a small first step. You can prepare a brief or send it to the project’s lead agent (or Home) and start. Proactive offers are opt-in; closing the helper never blocks ordinary chat or agent creation.

When creating an agent, Review draft in project context can propose missing instructions. Review the complete before/after and explicitly accept to apply them to the unchanged, unsaved draft. This does not rewrite an existing agent or grant permissions; saving the agent is still a separate action. If the draft changed meanwhile, review it again. Project text in a brief remains reference data, not authorization.

An agent reads and writes only in the folder it works in and its own temp folder. When a task needs another folder, like a second checkout to compare against or a folder of docs, add it as a read-only folder of the project. Its agents, and the helpers they delegate to, can read it with file_read and with commands like cat, rg or git log, and copy from it into their own folder. APX refuses every write it can see there, from a file tool or in a command. That check is what protects the folder, not an operating-system sandbox: a script that builds a path while it runs is not caught. Each turn tells the agent which folders these are.

Open the project’s settings (the gear in its header). Under Read-only folders, type an absolute path (or choose one in the desktop app) and click Add. Click the × beside a folder to remove it. Each change is saved right away.

A read-only folder must exist and be a folder. It can’t be APX’s own folder, a folder inside it, or a folder that holds it, and it can’t be inside the project’s own folder (agents can already read and write there). APX keeps the list in its database, not in .apc/, so a repo can’t widen what its agents read.

When an agent reads outside its folders in a project (an ls .. as a first look, a file in a sibling checkout), it doesn’t hit a dead end: the chat shows a card, Fausto wants to read and the folder, with Only this time (that one call reads there), Allow reading it in this project (the folder becomes a read-only folder, with the checks above) and No. Writes outside its folders are still refused, and so are reads in a chat with no project.

An agent on total autonomy (or whose rule Act outside in your name is Without asking) reads and changes any folder on the computer, in a project chat or in one with no project, with no card, and nothing is added. Two things stay closed even then: APX’s own folder, and the project’s read-only folders, which it reads and never changes.

Home and your global agents live in the base project. It has no folder: APX keeps its name and type, its agents work anywhere, and it can’t be deleted. You name it during setup and can rename it later; it stays the base project whatever you call it. When you want agents that work in a specific folder, make a project for that folder.

The project folder is yours. Everything APX needs that is not part of the standard stays in APX’s home (~/.apx/v2):

  • The database (apx.db): chats, runs, tasks, routines, notes, widgets and an index of your projects’ agents. The files stay the source of truth for agent definitions; the index is rebuilt from them.
  • APX’s side of the project: ~/.apx/v2/projects/<name> for a project APX made with no folder elsewhere, and ~/.apx/v2/projects/<id> for every other one. Outside agents (Claude Code, Codex) in a project chat work there, never in your folder, so one project’s scratch files never land among another’s.

Code threads are the exception: they work in your project’s folder on purpose. See Conversations.

Open a project from the sidebar and you get its tabs: Overview, Chats, Agents, Tasks, Routines, Files, Memory and Resources. The Overview is the project at a glance: a Board with the widgets you pinned, what is running now, the team, a few numbers and the latest chats.

Acme Store's Overview tab: a Board with a sales widget and a launch checklist, the team and recent chatsAcme Store's Overview tab: a Board with a sales widget and a launch checklist, the team and recent chats
Acme Store › Overview