@jiggai/recipes 0.2.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,142 @@
1
+ # ClawRecipes (OpenClaw Recipes Plugin)
2
+
3
+ <p align="center">
4
+ <img src="./clawrecipes_cook.jpg" alt="ClawRecipes logo" width="240" />
5
+ </p>
6
+
7
+ ClawRecipes is an OpenClaw plugin that provides **CLI-first recipes** for scaffolding specialist agents and teams from Markdown.
8
+
9
+ If you like durable workflows: ClawRecipes is built around a **file-first team workspace** (inbox/backlog/in-progress/testing/done) that plays nicely with git.
10
+
11
+ ## Quickstart
12
+ ### 1) Install
13
+ #### Option A (preferred): install from npm
14
+ Once published:
15
+
16
+ ```bash
17
+ openclaw plugins install @jiggai/recipes
18
+ openclaw gateway restart
19
+ openclaw plugins list
20
+ ```
21
+
22
+ #### Option B: install from GitHub
23
+ ```bash
24
+ git clone https://github.com/JIGGAI/ClawRecipes.git ~/clawrecipes
25
+ openclaw plugins install --link ~/clawrecipes
26
+ openclaw gateway restart
27
+ openclaw plugins list
28
+ ```
29
+
30
+ ### 2) List available recipes
31
+ ```bash
32
+ openclaw recipes list
33
+ ```
34
+
35
+ ### 3) Scaffold a team
36
+ ```bash
37
+ openclaw recipes scaffold-team development-team \
38
+ --team-id development-team-team \
39
+ --overwrite \
40
+ --apply-config
41
+ ```
42
+
43
+ ### 4) Dispatch a request into work artifacts
44
+ ```bash
45
+ openclaw recipes dispatch \
46
+ --team-id development-team-team \
47
+ --request "Add a new recipe for a customer-support team" \
48
+ --owner lead
49
+ ```
50
+
51
+ ## Commands (high level)
52
+ - `openclaw recipes list|show|status`
53
+ - `openclaw recipes scaffold` (agent → `workspace-<agentId>`)
54
+ - `openclaw recipes scaffold-team` (team → `workspace-<teamId>` + `roles/<role>/`)
55
+ - `openclaw recipes install <idOrSlug> [--yes] [--global|--agent-id <id>|--team-id <id>]` (skills: global or scoped)
56
+ - `openclaw recipes bind|unbind|bindings` (multi-agent routing)
57
+ - `openclaw recipes dispatch ...` (request → inbox + ticket + assignment)
58
+ - `openclaw recipes tickets|move-ticket|assign|take|handoff|complete` (file-first ticket workflow)
59
+ - `openclaw recipes cleanup-workspaces` (safe cleanup of temporary test/scaffold workspaces)
60
+
61
+ For full details, see `docs/COMMANDS.md`.
62
+
63
+ ## Configuration
64
+ The plugin supports these config keys (with defaults):
65
+ - `workspaceRecipesDir` (default: `recipes`)
66
+ - `workspaceAgentsDir` (default: `agents`)
67
+ - `workspaceSkillsDir` (default: `skills`)
68
+ - `workspaceTeamsDir` (default: `teams`)
69
+ - `autoInstallMissingSkills` (default: `false`)
70
+ - `confirmAutoInstall` (default: `true`)
71
+ - `cronInstallation` (default: `prompt`; values: `off|prompt|on`)
72
+
73
+ Config schema is defined in `openclaw.plugin.json`.
74
+
75
+ ## Documentation
76
+ Start here:
77
+ - Installation: `docs/INSTALLATION.md`
78
+ - Agents + skills: `docs/AGENTS_AND_SKILLS.md`
79
+ - Tutorial (create a recipe): `docs/TUTORIAL_CREATE_RECIPE.md`
80
+
81
+ ## Development
82
+ ### Unit tests (vitest)
83
+ Run:
84
+ - `npm test`
85
+
86
+ ### Scaffold smoke test (regression)
87
+ A lightweight smoke check validates scaffold-team output contains the required testing workflow docs (ticket 0004).
88
+
89
+ Run:
90
+ - `npm run test:smoke` (or `npm run scaffold:smoke`)
91
+
92
+ Notes:
93
+ - Creates a temporary `workspace-smoke-<timestamp>-team` under `~/.openclaw/` and then deletes it.
94
+ - Exits non-zero on mismatch.
95
+
96
+ Reference:
97
+ - Commands: `docs/COMMANDS.md`
98
+ - Recipe format: `docs/RECIPE_FORMAT.md`
99
+ - Bundled recipes: `docs/BUNDLED_RECIPES.md`
100
+ - Team workflow: `docs/TEAM_WORKFLOW.md`
101
+ - ClawRecipes Kitchen (UI): `docs/CLAWCIPES_KITCHEN.md`
102
+
103
+ (Also see: GitHub repo https://github.com/JIGGAI/ClawRecipes)
104
+ ## Notes / principles
105
+ - Workspaces:
106
+ - Standalone agents: `~/.openclaw/workspace-<agentId>/`
107
+ - Teams: `~/.openclaw/workspace-<teamId>/` with `roles/<role>/...`
108
+ - Skills:
109
+ - Global (shared): `~/.openclaw/skills/<skill>`
110
+ - Scoped (agent/team): `~/.openclaw/workspace-*/skills/<skill>`
111
+ - Team IDs end with `-team`; agent IDs are namespaced: `<teamId>-<role>`.
112
+ - Recipe template rendering is intentionally simple: `{{var}}` replacement only.
113
+
114
+ ## Removing (uninstalling) a scaffolded team
115
+ ClawRecipes includes a safe uninstall command:
116
+
117
+ ```bash
118
+ openclaw recipes remove-team --team-id <teamId> --plan --json
119
+ openclaw recipes remove-team --team-id <teamId> --yes
120
+ openclaw gateway restart
121
+ ```
122
+
123
+ Notes:
124
+ - The command is confirmation-gated by default (use `--yes` to apply).
125
+ - Cron cleanup is conservative: it removes only cron jobs that are explicitly **stamped** with `recipes.teamId=<teamId>`.
126
+ - If you need a manual fallback, you can still delete `~/.openclaw/workspace-<teamId>` and remove `<teamId>-*` agents from `agents.list[]` in `~/.openclaw/openclaw.json`.
127
+
128
+ ## Links
129
+ - GitHub: https://github.com/JIGGAI/ClawRecipes
130
+ - Docs:
131
+ - Installation: `docs/INSTALLATION.md`
132
+ - Commands: `docs/COMMANDS.md`
133
+ - Recipe format: `docs/RECIPE_FORMAT.md`
134
+ - Team workflow: `docs/TEAM_WORKFLOW.md`
135
+
136
+ ## What you should be developing (not this plugin)
137
+ ClawRecipes is meant to be *installed* and then used to build **agents + teams**.
138
+
139
+ Most users should focus on:
140
+ - authoring recipes in their OpenClaw workspace (`<workspace>/recipes/*.md`)
141
+ - scaffolding teams (`openclaw recipes scaffold-team ...`)
142
+ - running the file-first workflow (dispatch → backlog → in-progress → testing → done)
Binary file
@@ -0,0 +1,232 @@
1
+ # Agents and skills (OpenClaw + ClawRecipes)
2
+
3
+ This doc explains the mental model: **what an agent is**, how **skills/tools** work, and how ClawRecipes helps you build agents + teams.
4
+
5
+ ## What is an agent?
6
+ In OpenClaw, an **agent** is a configured assistant persona with:
7
+ - a **workspace folder** (where it reads/writes files)
8
+ - optional **identity** (name, avatar, emoji, tone)
9
+ - a **tool policy** (what tools it is allowed to use)
10
+ - a **model** configuration (defaults come from OpenClaw)
11
+
12
+ In ClawRecipes, a **standalone** agent recipe scaffolds a dedicated workspace like:
13
+
14
+ ```
15
+ ~/.openclaw/workspace-<agentId>/
16
+ SOUL.md
17
+ AGENTS.md
18
+ TOOLS.md
19
+ ...other recipe files...
20
+ ```
21
+
22
+ ### Why separate agents?
23
+ - Separation of concerns (research vs writing vs devops)
24
+ - Cleaner prompts/personas
25
+ - Safer tool permissions (e.g., only DevOps gets automation)
26
+ - Clear ownership of outputs (each agent writes to its own workspace)
27
+
28
+ ## What is a skill?
29
+ A **skill** is a packaged integration or capability (e.g. Gmail, Calendar, Places search, Twitter/X tooling).
30
+
31
+ Skills can provide:
32
+ - tools/actions (e.g., `gog gmail ...`, `local-places ...`)
33
+ - configuration schemas / env vars
34
+ - helper scripts or CLIs
35
+
36
+ In OpenClaw, skills are surfaced as tools the agent can use.
37
+
38
+ ## Tool policies (allow/deny)
39
+ Every agent can have a tool policy in OpenClaw config (written via `--apply-config` when scaffolding).
40
+
41
+ ClawRecipes recipes commonly use:
42
+ - `allow: ["group:fs", "group:web"]` for safe file + web access
43
+ - `allow: ["group:runtime"]` when the agent needs to run local commands
44
+ - `allow: ["group:automation"]` for automation-oriented tools
45
+ - `deny: ["exec"]` for safety on agents that shouldn’t execute commands
46
+
47
+ The intent:
48
+ - Most agents should **not** have `exec`.
49
+ - Only agents that truly need it (dev/devops) should get runtime/exec capabilities.
50
+
51
+ ## How to add/update tool access (allow list)
52
+ There are two common approaches.
53
+
54
+ ### Option A (recommended): update the recipe, then re-apply config
55
+ 1) Edit the recipe markdown (either a workspace recipe or your own copy of a bundled recipe) and change `tools.allow` / `tools.deny`.
56
+
57
+ 2) Re-run scaffold with `--apply-config`:
58
+
59
+ Team:
60
+ ```bash
61
+ openclaw recipes scaffold-team <recipeId> --team-id <teamId> --overwrite --apply-config
62
+ openclaw gateway restart
63
+ ```
64
+
65
+ Individual agent:
66
+ ```bash
67
+ openclaw recipes scaffold <recipeId> --agent-id <agentId> --overwrite --apply-config
68
+ openclaw gateway restart
69
+ ```
70
+
71
+ ### Option B: edit OpenClaw config directly
72
+ 1) Edit:
73
+ - `~/.openclaw/openclaw.json`
74
+
75
+ 2) Find the matching agent under `agents.list[]` and edit:
76
+ - `tools.allow`
77
+ - `tools.deny`
78
+
79
+ 3) Restart:
80
+ ```bash
81
+ openclaw gateway restart
82
+ ```
83
+
84
+ > Tip: if you later re-run scaffold with `--apply-config`, the recipe’s tool policy may overwrite your manual edits. If you want a change to stick, encode it in the recipe.
85
+
86
+ ## Installing skills (workspace-local)
87
+ ClawRecipes favors **workspace-local** installs so each OpenClaw workspace is self-contained.
88
+
89
+ ### Install a skill slug
90
+ ```bash
91
+ openclaw recipes install <skill-slug>
92
+ # or non-interactive:
93
+ openclaw recipes install <skill-slug> --yes
94
+ ```
95
+
96
+ This runs ClawHub under the hood and installs into the **current OpenClaw workspace** skills dir:
97
+ - `<workspace>/skills/<skill-slug>`
98
+
99
+ Examples:
100
+ - standalone agent workspace: `~/.openclaw/workspace-<agentId>/skills/<skill-slug>`
101
+ - team workspace: `~/.openclaw/workspace-<teamId>/skills/<skill-slug>`
102
+
103
+ > Note: in the new workspace policy, standalone agents live in `~/.openclaw/workspace-<agentId>` and teams live in `~/.openclaw/workspace-<teamId>`. Skill install targeting is still being refined during the experimental phase.
104
+
105
+ ### Install the skills required by a recipe
106
+ If a recipe declares skills in `requiredSkills` or `optionalSkills`:
107
+
108
+ ```bash
109
+ openclaw recipes install <recipe-id>
110
+ ```
111
+
112
+ That installs the recipe’s declared skills.
113
+
114
+ ### Removing a skill
115
+ ClawRecipes currently does **not** implement a remove command.
116
+
117
+ To remove a workspace-local skill:
118
+ - delete the folder: `<workspace>/skills/<skill-slug>`
119
+ - restart: `openclaw gateway restart`
120
+
121
+ (We can add `openclaw recipes uninstall <slug>` later if you want it to be first-class.)
122
+
123
+ ## Removing (uninstalling) a scaffolded team
124
+ ClawRecipes includes a safe uninstall command:
125
+
126
+ ```bash
127
+ openclaw recipes remove-team --team-id <teamId> --plan --json
128
+ openclaw recipes remove-team --team-id <teamId> --yes
129
+ openclaw gateway restart
130
+ ```
131
+
132
+ Notes:
133
+ - Cron cleanup is conservative: it removes only cron jobs explicitly stamped with `recipes.teamId=<teamId>`.
134
+ - You can still do it manually by deleting `~/.openclaw/workspace-<teamId>` and removing `<teamId>-*` entries from `agents.list[]` in `~/.openclaw/openclaw.json`.
135
+
136
+ ## Teams: shared workspace + multiple agents
137
+ A **team** recipe scaffolds a **shared workspace root** plus role folders:
138
+
139
+ ```
140
+ ~/.openclaw/workspace-<teamId>/
141
+ TEAM.md
142
+ inbox/
143
+ outbox/
144
+ shared/
145
+ notes/
146
+ work/
147
+ backlog/
148
+ in-progress/
149
+ testing/
150
+ done/
151
+ assignments/
152
+ roles/
153
+ <role>/
154
+ ...role-specific recipe files...
155
+ ```
156
+
157
+ Each role agent is a separate OpenClaw agent id (`<teamId>-<role>`), but they share the same workspace root (`workspace-<teamId>`) so collaboration is file-based.
158
+
159
+ The shared workspace is the source of truth for:
160
+ - intake (`inbox/`)
161
+ - work queue (`work/backlog`, `work/in-progress`, `work/testing`, `work/done`)
162
+ - assignments (`work/assignments`)
163
+ - deliverables (`outbox/`)
164
+
165
+ ## Updating agents after you scaffold them
166
+ Once an agent exists, there are **two layers** you can update:
167
+
168
+ ### 1) The agent’s files (workspace)
169
+ Agents are just folders under:
170
+ - standalone: `~/.openclaw/workspace-<agentId>/`
171
+ - team roles: `~/.openclaw/workspace-<teamId>/roles/<role>/`
172
+
173
+ Common files:
174
+ - `SOUL.md` — the persona / operating style
175
+ - `AGENTS.md` — operating instructions / workflow
176
+ - `TOOLS.md` — agent-local notes (paths, conventions, env quirks)
177
+ - `STATUS.md` — current focus / next actions
178
+ - `NOTES.md` — scratchpad
179
+
180
+ To change behavior, edit these files and then just use the agent again.
181
+
182
+ If the agent was created from a recipe, re-running scaffold with `--overwrite` will overwrite recipe-managed files:
183
+
184
+ ```bash
185
+ openclaw recipes scaffold <recipeId> --agent-id <agentId> --overwrite
186
+ ```
187
+
188
+ For teams, you typically re-run `scaffold-team` (role files live under `roles/<role>/`):
189
+
190
+ ```bash
191
+ openclaw recipes scaffold-team <recipeId> --team-id <teamId> --overwrite
192
+ ```
193
+
194
+ ### 2) The agent’s OpenClaw config (tool permissions, identity, model)
195
+ When you scaffold with `--apply-config`, ClawRecipes writes the agent entry into OpenClaw config:
196
+ - `~/.openclaw/openclaw.json` → `agents.list[]`
197
+
198
+ Re-run scaffold/scaffold-team with `--apply-config` any time you want the recipe’s tool policy (allow/deny) to be re-applied.
199
+
200
+ ```bash
201
+ openclaw recipes scaffold-team <recipeId> --team-id <teamId> --apply-config
202
+ openclaw gateway restart
203
+ ```
204
+
205
+ ## Where to find agent config in the OpenClaw UI
206
+ OpenClaw exposes agent configuration in its UI (labels/paths depend on your build), typically under something like:
207
+ - **Settings → Agents**
208
+
209
+ From there you can:
210
+ - select an agent
211
+ - view/edit its identity
212
+ - review tool permissions
213
+ - confirm which workspace it uses
214
+
215
+ If you prefer files, the source-of-truth config file is:
216
+ - `~/.openclaw/openclaw.json`
217
+
218
+ ## How to create your own agents/teams
219
+ You have three main options:
220
+
221
+ 1) Use a bundled recipe (fast start)
222
+ - `openclaw recipes scaffold-team development-team --team-id my-dev-team-team --apply-config`
223
+
224
+ 2) Write your own recipe in your workspace
225
+ - Create: `~/.openclaw/workspace/recipes/my-team.md`
226
+ - Then: `openclaw recipes scaffold-team my-team --team-id my-team-team --apply-config`
227
+
228
+ 3) Copy a bundled recipe and modify it
229
+ - Use `openclaw recipes show <id>` to view it
230
+ - Copy into your workspace recipes dir and edit
231
+
232
+ Next: read `docs/TUTORIAL_CREATE_RECIPE.md` for a step-by-step guide.
@@ -0,0 +1,208 @@
1
+ # Bundled recipes
2
+
3
+ ClawRecipes ships with a few recipes in `recipes/default/`.
4
+
5
+ You can:
6
+ - list them: `openclaw recipes list`
7
+ - inspect them: `openclaw recipes show <id>`
8
+
9
+ Below is a guided explanation of what each bundled recipe does.
10
+
11
+ ## 1) `project-manager` (agent)
12
+ **Kind:** agent
13
+
14
+ **Use when:** you want a lightweight agent that keeps plans tidy and maintains a cadence.
15
+
16
+ Scaffold:
17
+ ```bash
18
+ openclaw recipes scaffold project-manager --agent-id pm --name "Project Manager" --apply-config
19
+ ```
20
+
21
+ What it writes:
22
+ - `agents/pm/SOUL.md`
23
+ - `agents/pm/AGENTS.md`
24
+
25
+ Default tool policy (recipe-defined):
26
+ - allows: `group:fs`, `group:web`, plus `cron` and `message`
27
+ - denies: `exec`
28
+
29
+ ## 2) `social-team` (team)
30
+ **Kind:** team
31
+
32
+ **Use when:** you want a multi-role social pipeline: lead + research + writer + editor.
33
+
34
+ Scaffold:
35
+ ```bash
36
+ openclaw recipes scaffold-team social-team --team-id social-team-team --apply-config
37
+ ```
38
+
39
+ What it creates:
40
+ - `teams/social-team-team/` shared workspace
41
+ - agents:
42
+ - `agents/social-team-team-lead/`
43
+ - `agents/social-team-team-research/`
44
+ - `agents/social-team-team-writer/`
45
+ - `agents/social-team-team-editor/`
46
+
47
+ Notes:
48
+ - Default `tools` in the recipe deny `exec` (safer by default).
49
+
50
+ ## 3) `development-team` (team)
51
+ **Kind:** team
52
+
53
+ **Use when:** you want a small engineering team with a file-first ticket queue.
54
+
55
+ Scaffold:
56
+ ```bash
57
+ openclaw recipes scaffold-team development-team --team-id development-team-team --apply-config
58
+ ```
59
+
60
+ What it creates:
61
+ - `teams/development-team-team/` shared workspace
62
+ - agents:
63
+ - `agents/development-team-team-lead/`
64
+ - `agents/development-team-team-dev/`
65
+ - `agents/development-team-team-devops/`
66
+
67
+ Special features:
68
+ - A strict ticket workflow documented in the lead’s `AGENTS.md`.
69
+ - Recommended ticket naming: `0001-...md`, `0002-...md`, etc.
70
+ - Tool policies intended for real work:
71
+ - lead: includes runtime + automation
72
+ - dev: includes runtime
73
+ - devops: includes runtime + automation
74
+
75
+ ## 4) `research-team` (team)
76
+ **Kind:** team
77
+
78
+ **Use when:** you need repeatable, citations-first research output.
79
+
80
+ Scaffold:
81
+ ```bash
82
+ openclaw recipes scaffold-team research-team --team-id research-team-team --apply-config
83
+ ```
84
+
85
+ What it creates:
86
+ - shared team workspace with conventional research folders:
87
+ - `work/sources/`, `work/notes/`, `work/briefs/`
88
+ - agents:
89
+ - lead (dispatch + quality bar)
90
+ - researcher (web sourcing + notes)
91
+ - fact-checker (verification)
92
+ - summarizer (brief writing)
93
+
94
+ Default tool policy:
95
+ - allows web access + file operations
96
+ - denies `exec` (safe-by-default)
97
+
98
+ ## 5) `writing-team` (team)
99
+ **Kind:** team
100
+
101
+ **Use when:** you want a writing pipeline from brief → outline → draft → edit.
102
+
103
+ Scaffold:
104
+ ```bash
105
+ openclaw recipes scaffold-team writing-team --team-id writing-team-team --apply-config
106
+ ```
107
+
108
+ What it creates:
109
+ - shared team workspace with writing pipeline folders:
110
+ - `work/briefs/`, `work/outlines/`, `work/drafts/`, `work/edited/`
111
+ - agents:
112
+ - lead
113
+ - outliner
114
+ - writer
115
+ - editor
116
+
117
+ Default tool policy:
118
+ - allows web access + file operations
119
+ - denies `exec` (safe-by-default)
120
+
121
+ ## 6) `customer-support-team` (team)
122
+ **Kind:** team
123
+
124
+ **Use when:** you want a repeatable support workflow: triage → resolution → KB.
125
+
126
+ Scaffold:
127
+ ```bash
128
+ openclaw recipes scaffold-team customer-support-team --team-id customer-support-team-team --apply-config
129
+ ```
130
+
131
+ What it creates:
132
+ - shared workspace conventions:
133
+ - `work/cases/`, `work/replies/`, `work/kb/`
134
+ - agents:
135
+ - lead, triage, resolver, kb-writer
136
+
137
+ Default tool policy:
138
+ - allows web access + file operations
139
+ - denies `exec` (safe-by-default)
140
+
141
+ ## 7) `product-team` (team)
142
+ **Kind:** team
143
+
144
+ **Use when:** you want a PRD → design → build → QA delivery loop.
145
+
146
+ Scaffold:
147
+ ```bash
148
+ openclaw recipes scaffold-team product-team --team-id product-team-team --apply-config
149
+ ```
150
+
151
+ Notes:
152
+ - The `engineer` role allows `group:runtime` and does **not** deny `exec` so it can run local tooling.
153
+
154
+ ## 8) `researcher` (agent)
155
+ **Kind:** agent
156
+
157
+ **Use when:** you want a single, citations-first research agent.
158
+
159
+ Scaffold:
160
+ ```bash
161
+ openclaw recipes scaffold researcher --agent-id researcher --apply-config
162
+ ```
163
+
164
+ Default tool policy:
165
+ - allows web access + file operations
166
+ - denies `exec`
167
+
168
+ ## 9) `editor` (agent)
169
+ **Kind:** agent
170
+
171
+ **Use when:** you want a single editing agent.
172
+
173
+ Scaffold:
174
+ ```bash
175
+ openclaw recipes scaffold editor --agent-id editor --apply-config
176
+ ```
177
+
178
+ Default tool policy:
179
+ - allows web access + file operations
180
+ - denies `exec`
181
+
182
+ ## 10) `developer` (agent)
183
+ **Kind:** agent
184
+
185
+ **Use when:** you want a single developer agent with runtime tooling.
186
+
187
+ Scaffold:
188
+ ```bash
189
+ openclaw recipes scaffold developer --agent-id dev --apply-config
190
+ ```
191
+
192
+ Default tool policy:
193
+ - allows `group:runtime`
194
+ - does not deny `exec`
195
+
196
+ ## Copying and modifying bundled recipes
197
+ A good workflow is:
198
+ 1) Inspect:
199
+ ```bash
200
+ openclaw recipes show development-team > /tmp/development-team.md
201
+ ```
202
+
203
+ 2) Copy into your workspace recipes folder:
204
+ ```bash
205
+ cp /tmp/development-team.md ~/.openclaw/workspace/recipes/my-dev-team.md
206
+ ```
207
+
208
+ 3) Edit the new recipe file and scaffold it.
@@ -0,0 +1,27 @@
1
+ # ClawRecipes Kitchen (UI)
2
+
3
+ ClawRecipes Kitchen is our UI for managing ClawRecipes workflows.
4
+
5
+ ## What it’s for
6
+ - Activity feed (high-level semantic events)
7
+ - Weekly scheduled-task view
8
+ - Global search across workspace + memory/docs + tasks
9
+ - Agent chat room
10
+ - Goals system (file-based source of truth)
11
+ - Approvals inbox + routing (e.g., Telegram)
12
+
13
+ ## Status
14
+ ClawRecipes Kitchen is under active development.
15
+
16
+ ## Relationship to the plugin
17
+ - The **ClawRecipes plugin** is CLI-first and works without any UI.
18
+ - ClawRecipes Kitchen is an optional UI companion for:
19
+ - visibility (activity/search)
20
+ - approvals
21
+ - human review of plans and changes
22
+
23
+ ## Roadmap (high level)
24
+ - Approvals UI (approve/deny + audit trail)
25
+ - Recipe browser and scaffold flows
26
+ - Team dashboards (backlog/in-progress/testing/done)
27
+ - Publishing workflow integration