Architecture¶
Aikito separates a stateless CLI source checkout from a stateful, Git-managed user workspace. This boundary allows the CLI to evolve without treating user memory and configuration as application installation files.
Source and Workspace¶
The two directories serve different purposes:
They must remain separate. The default workspace is ~/aikito. An explicit
aikito init workspace <path> persists another default; AIKITO_DIR overrides
it temporarily. Use aikito path workspace for machine-readable resolution.
Canonical Source¶
The workspace is the source of truth:
<workspace>
├── global/AGENTS.md
├── skills/
├── memory/
├── projects/
├── mcps/
├── agents.toml
├── skills.toml
└── subagents.toml
|
| aikito sync ...
v
Agent-native configs + <project>/.agents/
Agent configuration directories and project-level .agents/ directories are
runtime entry points. Do not maintain independent copies there when Aikito owns
the corresponding resource.
Use or Adapt the Aikito Skill¶
The complete Aikito skill teaches a coding agent how to install, configure, and operate an Aikito workspace. Use it as provided or adapt its workspace layout, Agent registry, synchronization policy, and review requirements to match your environment.
Resources¶
| Resource | Canonical source | Purpose |
|---|---|---|
| Memory | memory/, projects/<name>/memory/ |
Durable global and project knowledge |
| Skills | skills/<name>/ |
Reusable Agent workflows |
| Instructions | global/AGENTS.md, projects/<name>/AGENTS.md |
Global and project behavior |
| MCP servers | mcps/*.toml |
Cross-Agent server definitions |
| Subagents | subagents.toml, subagents/ |
Cross-Agent specialist definitions |
| Agent registry | agents.toml |
Integration paths and supported capabilities |
Aikito calls the resource “instructions” while retaining the ecosystem-standard
AGENTS.md filename for its canonical content.
Integrations are capability-based. An Agent may participate in instructions,
skills, MCP, or subagent synchronization independently. The default registry
contains Codex, Claude Code, Antigravity CLI (agy), OpenCode, GitHub Copilot
CLI, DeepSeek Harness (dsh), Grok Build, and Pi.
Grok Build uses ~/.grok/rules/aikito.md for global instructions,
~/.agents/skills for shared skills, ~/.grok/config.toml for MCP servers,
~/.grok/agents/ for subagents, and root AGENTS.md files for project rules.
Pi participates in instructions, skills, and runners. It uses
~/.pi/agent/AGENTS.md for global instructions, ~/.agents/skills for shared
skills, and root AGENTS.md files for project rules. When Pi's optional
subagent extension entry point exists, Aikito synchronizes global definitions
to ~/.pi/agent/agents; without it, the capability is skipped and no target
files are written. Pi has no MCP section and is omitted from MCP
synchronization.
Project Runtime Directory¶
Project synchronization creates a managed .agents/ directory in the target
project for skills and memory. Project instructions are linked only to each
workspace-registered agent's configured project_instruction_path; paths shared
by multiple agents are created once. Aikito refuses to replace unmanaged content
at any instruction target. Skills use the project's configured
sync_mode, which can link or copy them.
Project Skill Sync Modes¶
sync_mode applies only to project skills under .agents/skills/. Project
instructions and memory always remain linked to the Aikito workspace so that
their canonical content has a single source of truth. Selecting copy therefore
does not make every managed project resource independent of Aikito or eliminate
all symbolic links.
The two skill modes serve different collaboration models:
| Mode | Runtime representation | Design intent | Trade-off |
|---|---|---|---|
link |
Symbolic links to workspace skills | Keep one live canonical skill shared by projects | Skill content is not stored in the project repository and requires access to the Aikito workspace and symbolic-link support |
copy |
Managed copies inside the project | Make selected skill contents reviewable and versionable with the project | Copies can drift from their canonical skills and must be reconciled before synchronization replaces collaborator changes |
Use link when the workspace is the authoritative working environment and
projects should immediately see canonical skill updates. Use copy when a
project needs a self-contained, Git-trackable snapshot of its selected skills,
for example when collaborators or CI do not share the same Aikito workspace.
Treat copied skills as generated project artifacts. aikito status reports
drift and aikito diff compares runtime files with their canonical workspace
versions. Make lasting improvements in the canonical skill, or reconcile
project changes back into it before synchronizing again. Synchronization stops
on drift unless --force is supplied after review.
Project .agents/skills/ uses entry-level ownership. Skills not selected by the
project configuration coexist as project-owned entries and appear as notices;
only selected-name collisions are conflicts. A matching directory copy does not
prove Aikito ownership; only provably managed links are removed after
deselection. .agents/memory/ remains exclusively managed by Aikito.
Synchronization Behavior¶
Aikito plans synchronization against the canonical workspace, identifies managed and unmanaged targets, and stops on conflicts that require user judgment. Managed-entry fingerprints expose drift rather than silently replacing local changes.
Use aikito status for the aggregate view and the resource-specific status
commands for details. See Safety model for write boundaries and
recovery expectations.