generated from coulomb/repo-seed
Add create-workstream: MCP tool, CLI commands, dashboard hint
MCP server: add create_workstream(topic_id, title, slug?, owner?, description?, due_date?) — auto-generates slug from title if omitted; emits workstream_created progress event. Now 12 tools total. CLI: add two new subcommands — custodian create-workstream --domain DOMAIN --title TITLE [--slug] [--owner] [--description] custodian create-task --workstream ID_OR_SLUG --title TITLE [--priority] [--assignee] create-task accepts workstream UUID or slug (resolves via API). Dashboard: hint box below "Open Workstreams by Domain" chart listing registered domains that have zero workstreams, with the exact custodian create-workstream command to run. TOOLS.md: updated tool count (11 → 12) and added create_workstream row. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -134,6 +134,26 @@ display(Plot.plot({
|
||||
}));
|
||||
```
|
||||
|
||||
```js
|
||||
// Registered domains with no workstreams yet — show a getting-started hint
|
||||
const regs = regsState ?? [];
|
||||
const registeredDomains = new Set(regs.map(e => e.detail?.domain).filter(Boolean));
|
||||
const emptyRegistered = (summary.topics ?? []).filter(t =>
|
||||
registeredDomains.has(t.domain) && (t.workstreams ?? []).length === 0
|
||||
);
|
||||
|
||||
if (emptyRegistered.length > 0) {
|
||||
display(html`<div class="hint-box">
|
||||
<strong>💡 Getting started</strong>
|
||||
<p>These registered projects have no workstreams yet:</p>
|
||||
<ul>${emptyRegistered.map(t => html`<li>
|
||||
<strong>${t.domain}</strong> — open the repo in Claude Code and ask the Custodian to create one, or run:<br>
|
||||
<code>custodian create-workstream --domain ${t.domain} --title "My first workstream"</code>
|
||||
</li>`)}</ul>
|
||||
</div>`);
|
||||
}
|
||||
```
|
||||
|
||||
## Blocking Decisions
|
||||
|
||||
```js
|
||||
@@ -183,4 +203,6 @@ display(Inputs.table((summary.recent_progress ?? []).map(e => ({
|
||||
.card.warn { border: 2px solid orange; }
|
||||
.big-num { font-size: 2.5rem; font-weight: bold; margin: 0.25rem 0; }
|
||||
.warning { background: #fff3cd; border: 1px solid #ffc107; border-radius: 4px; padding: 0.75rem; }
|
||||
.hint-box { background: var(--theme-background-alt); border-left: 3px solid steelblue; border-radius: 4px; padding: 0.75rem 1rem; margin-top: 0.75rem; font-size: 0.9rem; }
|
||||
.hint-box code { background: var(--theme-background); padding: 0.15rem 0.4rem; border-radius: 3px; font-size: 0.85rem; }
|
||||
</style>
|
||||
|
||||
Reference in New Issue
Block a user