This page gives the steps to set up a new machine, so that an orchestrator session can run the tickets of codeguru42/tasker there. The operator is the person who sets up the machine. The operator does each step of this page. The local clone is $HOME/src/mine/tasker. The configuration file is the file of tasker that docs/config.md describes.
On 2026-10-18, the machine used Node 26.7.0, git 2.47.3, gh 2.101.0 and Claude Code 2.1.302.
- Install git, gh, Claude Code and nvm.
- Log in to gh as the account
codeguru42:gh auth login --hostname github.com --scopes project. The scopeprojectis for the project board. The token scopes of docs/config.md give the scope that tasker needs. If a command of the project board fails for a missing scope, follow the fix in The project board. - Make sure that the ssh key of the account reaches
[email protected], because the remote of the repo uses ssh:ssh -T [email protected]. Facts about outside tools gives the exit codes of this command. If the exit code shows a wrong key, fix the ssh key of the account. Then run the command again.
- Clone the repo to the local clone:
git clone [email protected]:codeguru42/tasker.git $HOME/src/mine/tasker. The orchestrator and its agents run git andtaskerfrom this clone. - In the local clone, run
nvm install, so that the clone uses the Node version of step 1 of Set up a working copy. - The folder bullet of Limits gives the place of the task worktree. Do not change the other entries of
$HOME/src/mine/tasker-worktrees/. They belong to other work.
The orchestrator runs the tickets with the installed tasker, as docs/dev/orchestration.md says.
-
Set up the configuration file:
- Open the configuration file. Where the file is gives its place.
- If the configuration file does not exist, make it with the top-level keys of the example of docs/config.md, for example
dataRoot,skillsDirsandlimits. - Under
repos, add this entry. In a new file, it is the only entry underrepos:
"codeguru42/tasker": { "issueTracker": { "provider": "github", "account": "codeguru42", "updateOnStart": true, "updateOnFinish": true }, "remote": "[email protected]:codeguru42/tasker.git", "defaultBaseBranch": "main", "bootstrap": { "commands": ["npm ci"], "env": [] }, "verify": { "commands": ["npm run check"], "env": [] }, "assistant": { "provider": "claude-code", "models": { "plan": { "model": "opus", "effort": "medium" }, "execute": { "model": "sonnet", "effort": "medium" }, "review": { "model": "opus", "effort": "medium" } } } }
-
Do the steps of the Install section of README.md in a clone of the operator, in a folder outside the local clone and outside
$HOME/src/mine/tasker-worktrees/. The local clone must stay onmain, because the doc-read rule fast-forwardsmainthere. The rule does not run the merge when another branch is checked out in the local clone, and an agent then stops. Step 8 of that section runstasker install-skills. That command copies each skill of the installed tasker, as the reference oftasker install-skillssays. These skills come from the folderskills/of the repo. That command needs the configuration file, as the same reference says. -
Run
tasker doctor. It must pass. If a check fails, fix the cause that the check names. Then runtasker doctoragain. -
If the tasker clone does not exist yet, run
tasker startfor one issue first. Then, in the local clone, add the read-onlytaskerremote, as steps 1 and 2 of docs/dev/rebase-conflicts.md say.
The repo file .claude/settings.json needs no change, as the plain-form rule says.
- In
$HOME/.claude/settings.json, setpermissions.defaultModeto"auto". - Add these rules to
permissions.ask, so that the user approves each such command:Bash(tasker approve-credits)andBash(tasker approve-credits *)Bash(tasker abort)andBash(tasker abort *)Bash(tasker update-branch *--undo*)Bash(git push --force*),Bash(git push * --force*),Bash(git push -f *),Bash(git push * -f *)andBash(git push * +*)- Each git command that names the data root of the installed tasker, for example
Bash(git -C $HOME/.local/share/tasker/*),Bash(git --git-dir $HOME/.local/share/tasker/*),Bash(git --git-dir=$HOME/.local/share/tasker/*),Bash(git --work-tree $HOME/.local/share/tasker/*),Bash(git --work-tree=$HOME/.local/share/tasker/*)andBash(cd $HOME/.local/share/tasker/repos/*)
- In each rule, write the absolute path of the home folder in place of
$HOME. - Install the skill
simple-englishin$HOME/.claude/skills/. - Install the Claude Code plugin
superpowers:claude plugin install superpowers@claude-plugins-official. - In
$HOME/.claude/CLAUDE.md, add the lineactivate simple-english in all sessions.