Skip to content
Development
Command

/maggy-init

Interactive wizard that configures Maggy for the user's org, issue tracker, and codebases. Writes `~/.maggy/config.yaml` and ensures deps are installed.

From plugin
maggy
70525 skills7 agents25 commands1 hook
Install
$ npx -y skills add alinaqi/claude-bootstrap --agent claude-code

How it fires

How this command gets triggered: by you, by Claude, or both.

  • Fires itselfClaude auto-loads it when your prompt matches the work.
  • You can call itInvoke it directly when you want it.
  • Slash command/maggy-init

Context preview

What this command does when you run it.

Interactive wizard that configures Maggy for the user's org, issue tracker, and codebases. Writes `~/.maggy/config.yaml` and ensures deps are installed.

Command definition

maggy-init.md

/maggy-init — Set Up Maggy for This Team

Interactive wizard that configures Maggy for the user's org, issue tracker, and codebases. Writes `~/.maggy/config.yaml` and ensures deps are installed.

---

Usage

`/maggy-init` — run the full setup wizard

---

Steps

1. Check prerequisites

  • Python 3.11+ available
  • `claude` CLI on PATH (warn but don't block)
  • Maggy installed (check `~/.claude/.bootstrap-dir`)

2. Run installer

BOOTSTRAP_DIR=$(cat ~/.claude/.bootstrap-dir)
cd "$BOOTSTRAP_DIR/maggy"
./install.sh

This installs Python deps and copies the config template to `~/.maggy/config.yaml`.

3. Interactive config wizard

Ask the user:

1. **Org name** — human-readable name (e.g. "Acme Corp") 2. **Domain** — primary competitive domain (e.g. "fintech", "devtools", "cx", "healthcare"). This drives competitor discovery. 3. **Issue tracker** — `github` (default) or `asana`. Linear is a stub. 4. **For GitHub:** org name + comma-separated repo list (`acmecorp/api, acmecorp/web`) 5. **For Asana:** workspace ID + project GID for their default board 6. **Codebases** — paths to each repo Maggy should execute in. Prompt key per path (short name like `api`, `web`). 7. **Competitor categories** — comma-separated (can match domain; encourages 1-3 categories) 8. **OKRs** — "skip" or "yaml" (paste OKRs inline if yaml)

4. Write config

Patch `~/.maggy/config.yaml` with the user's answers using a Python helper:

import yaml
from pathlib import Path

cfg_path = Path.home() / ".maggy" / "config.yaml"
cfg = yaml.safe_load(cfg_path.read_text())

cfg["org"]["name"] = "<answer>"
cfg["org"]["domain"] = "<answer>"
cfg["issue_tracker"]["provider"] = "<answer>"
# ... set github/asana section accordingly
cfg["codebases"] = [{"path": "<path>", "key": "<key>"}, ...]
cfg["competitors"]["categories"] = ["<cat>", ...]

cfg_path.write_text(yaml.safe_dump(cfg, sort_keys=False))

5. Credentials check

Tell the user to export these in their shell and source them when starting Maggy:

export GITHUB_TOKEN=ghp_...           # repo + issues scopes
export ANTHROPIC_API_KEY=sk-ant-...

**Do not write tokens to `~/.maggy/.env`** — the Maggy server does not load that file automatically, so credentials would sit on disk in plaintext with no code reading them. Use your shell's standard secret store (e.g. `.zshrc`, `direnv`, `op run`, a secrets manager) or export them inline when launching Maggy.

6. Test the connection

cd "$BOOTSTRAP_DIR/maggy"
python3 -c "from src import config, providers; cfg = config.load(); p = providers.build(cfg); import asyncio; print('Found', len(asyncio.run(p.list_tasks(limit=5))), 'tasks')"

If this returns tasks, setup is working.

7. Offer to launch

> Maggy is configured. Run `/maggy` to launch the dashboard, or: > > ``` > cd $BOOTSTRAP_DIR/maggy && python3 -m maggy.main > ``` > > Then open http://127.0.0.1:8080

---

Related

  • `/maggy` — launch dashboard
  • `/icpg-bootstrap` — index your codebases so Execute gets rich context
Read more
Ships withmaggy

Turn Claude Code into a self-reviewing, test-enforced engineering system that remembers context across sessions — then route work across 13 models from a single dashboard.

Get the whole plugin