YouBothAgent▾
You — Business rules and flows you own. Read these yourself.
Both — Know the idea; your agent follows the details.
Agent — Conventions and references your agent follows. Look up as needed.
CLI Reference▾
AkanJS Reference▾
Workspace CLI
These commands act on the whole workspace. Create a new one, and lint or sync every app and library at once.
CommandDescription
Create a new workspace with its first app, agent rules and MCP config.
Format and lint one app, library or package with Biome.
Sync every app and library, then lint every app, library and package.
Run
akan sync on every library, then on every app.Words Used On This Page
TermDescription
workspace root
The repo's top folder, the one holding
package.json, tsconfig.json and .env.sync
Rescans an app or library and rewrites its generated files.
akan sync <app|lib> does one.Biome
The formatter and linter Akan uses. Its rules live in
biome.json at the workspace root.Which One To Run
The three upkeep commands differ in scope and in whether they lint after the sync.
Command
sync
lint
One target
lint
✓
✓
You changed one app, library or package. A package is linted without a sync.
Whole workspace
lint-all
✓
✓
Before a wide check, where generated files, app code and libraries must agree.
sync-all
✓
Generated files look stale, or you changed the shared workspace setup.
✓Runs itSkips it
create-workspace
Create a new workspace and its first app in one go. It runs these steps in order:
- Write the workspace files into
<dir>/<workspaceName>, with--registrysaved to.npmrc. - Run
bun install.--init falseskips it. - Install the
utilandsharedlibraries, only with--libs true. - Create the first app, named by
--app. - Write the agent rules and the MCP config.
--agent-installand--mcp-installturn them off. - Make the first git commit. If git fails, the workspace still works; commit by hand.
cd <dir>/<workspaceName> && akan start <app>.Signature
Arguments
workspaceNameStringrequired
Organization or workspace name, lowercased with spaces as hyphens. Asked for when omitted.
Options
--appStringrequired
Name of the first app, lowercased with spaces as hyphens. Asked for when omitted.
--dirStringdefault .
Parent folder, relative to where you run it. Defaults to
local if USE_AKANJS_PKGS=true.--libsBooleandefault false
Also install
shared and util. Leave it off, as recommended, to start from an empty workspace.--initBooleandefault true
Run
bun install once the files are written.--registryStringdefault https://registry.npmjs.org
npm registry for the Akan packages, saved to
.npmrc. AKAN_NPM_REGISTRY sets the default.--ownerStringdefault $GITHUB_OWNER
GitHub owner of the repo. When set,
README.md gets an Open in GitHub Codespaces badge.--mcp-installBooleandefault true
Register the Akan MCP server for Cursor, Claude Code and Codex in their project config files.
--agent-installBooleandefault true-A
Write
AGENTS.md, CLAUDE.md and .cursor/rules/akan.mdc for coding agents.Notes
NameDescription
where to run
Any folder works, because this command creates the workspace root.
MCP config files
Cursor reads
.cursor/mcp.json, Claude Code .mcp.json, and Codex .codex/config.toml.framework version
There is no
--tag. Move a workspace to another release channel with akan update --tag <tag>.create-akan-workspace
bunx create-akan-workspace installs the matching @akanjs/cli globally, then runs this command.Examples
lint
Format and lint one app, library or package with Biome. Fixes are written by default, and an app or library is synced first. After Biome come the three checks under Notes.
Signature
Arguments
app|lib|pkgStringrequired
App, library or package name. Picked from a list when omitted.
Options
--fixBooleandefault true
Write the formatter and lint fixes. With
--fix false it only reports.--max-diagnosticsNumberdefault 200
How many diagnostics Biome prints before it truncates.
0 removes the limit.Notes
NameDescription
theme contrast
Fails when a color pair in
page/styles.css misses the WCAG contrast threshold.recipes
Fails when a recipe in
ui/Recipe has no variant or flag to choose.agent index
Fails when the recipe index in an app's or library's
AGENTS.md is stale. akan sync fixes it.Examples
lint-all
Sync every app and library, then lint every app, library and package. Each one gets the same checks as
lint. Run it before a wide check where generated files, app code and shared libraries must agree.Signature
Options
--fixBooleandefault true
Write the formatter and lint fixes. With
--fix false it only reports.--max-diagnosticsNumberdefault 200
How many diagnostics Biome prints before it truncates.
0 removes the limit.Examples
sync-all
Run
akan sync on every library, then on every app. Use it when generated files look stale, or after a change to the shared workspace setup.Signature
Examples
Rules Every Command Shares
- Run from the workspace root. Every command here except
create-workspaceruns from the folder holdingpackage.json,tsconfig.jsonand.env. - Boolean options.
--fixon its own means true. To turn an option off, give the value:--fix false. - Short flags. Each option also answers to its first letter (
-ffor--fix) unless its row shows another letter, such as-A. - Verbose output.
-vshows the output of each process the command runs, which a spinner normally hides.
Related Pages
CLI Commands→
How to read a signature, and the options every command takes.
akan sync→
Syncs one app or library, the step these commands repeat for all of them.
akan agent→
Refreshes the agent rules that
create-workspace wrote.akan update→
Moves the workspace to another framework version or release channel.