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).
« Simulate moving the root code into codebase/app/ for the app stack, without moving anything. »
| Name | Type | Required | Description |
|---|---|---|---|
stack_id | string | no | Id of the target stack (default default). |
dry_run | boolean | no | If 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.
« Go ahead and deploy the Effortless MCP server to Claude Code and opencode, at user scope. »
| Name | Type | Required | Description |
|---|---|---|---|
targets | array<string> | no | Ids of the MCP clients to deploy to (default: all clients detected on this machine). |
scope | string | no | Installation scope: user (default), or the root path of a project for a project-level installation, depending on the client. |
grant_permissions | boolean | no | If 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.
« Initialize an Effortless project named "my-site" in this folder using the tauri-react-tailwind stack model. »
| Name | Type | Required | Description |
|---|---|---|---|
project_name | string | no | Project name (default: name of the current directory). |
description | string | no | Project description (optional). |
force | boolean | no | If true, overwrites an existing effortless.json and clears the runtime tree (.effortless/epics/, backlog.json, state.json); default false refuses. |
context | string | no | Bootstrap context recorded in the settings, for example greenfield (default), existing or migration. |
initial_stack_name | string | no | Id of the initial code stack (default default). |
model_id | string | no | Id 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.
« Show me a preview of upgrading the project to the current schema, without applying anything. »
| Name | Type | Required | Description |
|---|---|---|---|
confirm | boolean | no | If 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.
« Go ahead and actually carry out the moves in the migration plan. »
| Name | Type | Required | Description |
|---|---|---|---|
dry_run | boolean | no | If 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.
« Prepare migrating this existing project to Effortless: show me the preview first. »
| Name | Type | Required | Description |
|---|---|---|---|
confirm | boolean | no | If false (default), non-destructive preview; if true, scaffolds the configuration, epic, story and migration_plan.json. |
force | boolean | no | If 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.
« Replay the project's nomenclature migration, as a preview only. »
| Name | Type | Required | Description |
|---|---|---|---|
confirm | boolean | no | If 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.
« Replay the project's state migration, as a preview only. »
| Name | Type | Required | Description |
|---|---|---|---|
confirm | boolean | no | If false (default), non-destructive preview; if true, applies the migration (.bak backups and version stamping). |