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▾
UI Reference▾

Workspace CLI

These commands act on the whole workspace. Create a new one, and lint or sync every app and library at once.
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
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:
  1. Write the workspace files into <dir>/<workspaceName>, with --registry saved to .npmrc.
  2. Run bun install. --init false skips it.
  3. Install the util and shared libraries, only with --libs true.
  4. Create the first app, named by --app.
  5. Write the agent rules and the MCP config. --agent-install and --mcp-install turn them off.
  6. Make the first git commit. If git fails, the workspace still works; commit by hand.
It ends by printing the next step: 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
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
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-workspace runs from the folder holding package.json, tsconfig.json and .env.
  • Boolean options. --fix on its own means true. To turn an option off, give the value: --fix false.
  • Short flags. Each option also answers to its first letter (-f for --fix) unless its row shows another letter, such as -A.
  • Verbose output. -v shows the output of each process the command runs, which a spinner normally hides.
Related Pages

Released under the MIT License

Connect your AI to these docs

MCPhttps://akanjs.com/mcp
Copyright © 2026 Akan.js All rights reserved.System managed bybassman