Docs/Core concepts

Workspaces & permissions

clishake isolates edits by default, detects overlap, and keeps integration as an explicit human decision.

Worktree per editing agent

When a project is a Git repository and an agent can modify files, clishake creates a branch and worktree dedicated to that agent:

workspace layout
your-project/                         # lead + read-only agents
└── .clishake/worktrees/claude/      # branch clishake/claude
└── .clishake/worktrees/codex/       # branch clishake/codex

The lead integrates finished branches. Agent removal never deletes worktrees or branches; cleanup is always explicit.

No silent overwrite

clishake detects files changed by multiple live agents and emits repo.conflict_detected. It reports overlap; it never auto-resolves a conflict.

Permission profiles

read_filesmodify_filesrun_commandsnetwork_accessuse_gitcommit_changesmerge_changesdelete_filesmodify_configspawn_subagentssend_messagesaccess_secretsoutside_project
!
Know the boundary

clishake enforces actions that pass through its coordination layer. Third-party harnesses run as your OS user; their internal tool permissions must be configured in the harness itself.

Teams and coordinator agents

Teams shape briefings and message routing. Use @team:name to address a group, or assign an agent the first-class coordinator role to triage tasks and report status without editing files.

terminal
$ clishake agent add coordinator --adapter claude-code \\
    --role coordinator --task "Triage, assign, and report"
$ clishake agent set codex --team reviewers

Approval gates

Structured adapters can request a human decision. The agent moves to awaiting_approval; the lead grants or denies, and the decision is both evented and messaged back.

terminal
$ clishake approvals
$ clishake approvals grant ap_1a2b3c4d