Skip to content

Setup and project ​

Create or migrate a project, deploy Effortless to your agents, launch the interface.

codebase_relocate ​

effortless_codebase_relocate — Stability: beta · no project

Moves the root code to codebase/<stack>/ (opt-in catch-up). dry_run=true by default. Gated (semi-auto).

💬 You ask your agent

« Simulate moving the root code into codebase/app/ for the app stack, without moving anything. »

→ The agent callseffortless_codebase_relocate
  • stack_id = app
  • dry_run = true
NameTypeRequiredDescription
stack_idstringnoId of the target stack (default default).
dry_runbooleannoIf true (default), only previews the move without writing anything; false performs it.

deploy ​

effortless_deploy — Stability: stable · no project · usable before any project

Deploys the native MCP server (app --mcp) to the detected MCP clients (cleanly replaces the legacy). Machine action. Also writes a global Effortless guide between markers into ~/.config/opencode/AGENTS.md and ~/.claude/CLAUDE.md, only for the targeted clients and at user scope; the rest of those files is untouched. For Claude Code, also installs the Effortless status line (~/.claude/effortless/statusline.mjs) and declares it in settings.json, never replacing a foreign status line.

💬 You ask your agent

« Go ahead and deploy the Effortless MCP server to Claude Code and opencode, at user scope. »

→ The agent callseffortless_deploy
  • targets = ["claude-code","opencode"]
  • scope = user
NameTypeRequiredDescription
targetsarray<string>noIds of the MCP clients to deploy to (default: all clients detected on this machine).
scopestringnoInstallation scope: user (default), or the root path of a project for a project-level installation, depending on the client.
grant_permissionsbooleannoIf true, also sets the permission allow-lists for the server (default false).

init ​

effortless_init — Stability: stable · no project · usable before any project

Initializes an Effortless project in the current directory (OPALE config, fractal tree). model_id applies a stack model (tree and norms), refused before any write if unknown. Refuses an existing effortless.json without force: true. Also writes AGENTS.md (guide derived from the registry) and CLAUDE.md (which imports it via @AGENTS.md), between markers, leaving the rest of those files untouched.

💬 You ask your agent

« Initialize an Effortless project named "my-site" in this folder using the tauri-react-tailwind stack model. »

→ The agent callseffortless_init
  • project_name = my-site
  • model_id = tauri-react-tailwind
NameTypeRequiredDescription
project_namestringnoProject name (default: name of the current directory).
descriptionstringnoProject description (optional).
forcebooleannoIf true, overwrites an existing effortless.json and clears the runtime tree (.effortless/epics/, backlog.json, state.json); default false refuses.
contextstringnoBootstrap context recorded in the settings, for example greenfield (default), existing or migration.
initial_stack_namestringnoId of the initial code stack (default default).
model_idstringnoId of a stack model to apply to the created project (optional, for example tauri-react); it lays out the stack tree and its development norms under .ai/ndd/; an unknown id is refused (see effortless_stack_model_list).

migrate ​

effortless_migrate — Stability: stable · no project

Upgrades the project: replays the migration ledger up to the current schema. confirm=false (default) = non-destructive preview; confirm=true = applies (.bak + stamping). Idempotent.

💬 You ask your agent

« Show me a preview of upgrading the project to the current schema, without applying anything. »

→ The agent callseffortless_migrate
  • confirm = false
NameTypeRequiredDescription
confirmbooleannoIf false (default), non-destructive preview; if true, applies the migration (.bak backups and version stamping).

migrate_apply ​

effortless_migrate_apply — Stability: stable · no project

Runs the moves from migration_plan.json. dry_run=true = non-destructive audit; dry_run=false (legacy default) = actually moves + migration_report.md.

💬 You ask your agent

« Go ahead and actually carry out the moves in the migration plan. »

→ The agent callseffortless_migrate_apply
  • dry_run = false
NameTypeRequiredDescription
dry_runbooleannoIf true, non-destructive audit of the moves in migration_plan.json; if false (default), actually moves the files and writes migration_report.md.

migrate_init ​

effortless_migrate_init — Stability: stable · no project · usable before any project

Analyzes the project and prepares its brownfield migration to Effortless. confirm=false (default) = non-destructive preview; confirm=true = scaffolds the config at the current schema + epic/story + migration_plan.json. Refuses to overwrite an existing init unless force=true.

💬 You ask your agent

« Prepare migrating this existing project to Effortless: show me the preview first. »

→ The agent callseffortless_migrate_init
  • confirm = false
  • force = false
NameTypeRequiredDescription
confirmbooleannoIf false (default), non-destructive preview; if true, scaffolds the configuration, epic, story and migration_plan.json.
forcebooleannoIf true, overwrites an existing init (with a .bak backup); default false refuses.

migrate_nomenclature ​

effortless_migrate_nomenclature — Stability: deprecated · no project

DEPRECATED — use effortless_migrate. Alias: replays the migration ledger. confirm=false = preview, confirm=true = applies.

💬 You ask your agent

« Replay the project's nomenclature migration, as a preview only. »

→ The agent callseffortless_migrate_nomenclature
  • confirm = false
NameTypeRequiredDescription
confirmbooleannoIf false (default), non-destructive preview; if true, applies the migration (.bak backups and version stamping).

migrate_state ​

effortless_migrate_state — Stability: deprecated · no project

DEPRECATED — use effortless_migrate. Alias: replays the migration ledger. confirm=false = preview, confirm=true = applies.

💬 You ask your agent

« Replay the project's state migration, as a preview only. »

→ The agent callseffortless_migrate_state
  • confirm = false
NameTypeRequiredDescription
confirmbooleannoIf false (default), non-destructive preview; if true, applies the migration (.bak backups and version stamping).

Effortless — ArboRithm