feat(kiro): add Kiro CLI harness for session capture and MCP install
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 68/100
- Issue type
- Feature
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- typescript
Research direction
Start by reading src/mcp/cowork-ingest.ts and its cowork-ingest.test.ts, then review the planned install-kiro.ts work alongside install-cowork.test.ts. Implement the Kiro transcript mapping, MCP configuration merge, CLI command, and startup loop described here. Done means Kiro sessions produce the listed Hivemind row types, existing MCP servers are preserved, and the mirrored tests pass.
Written by the indexing model from the issue text.
Description
Summary
Add a Kiro harness so sessions from Kiro CLI (kiro-cli) are captured into Hivemind shared memory, exactly like the existing Claude Code, Cursor, Codex, and Cowork harnesses.
Why Kiro
Kiro is an AI coding agent from AWS (free tier available). Its JSONL session format is already compatible with Hivemind's capture pipeline — no hooks or plugin API needed, just transcript tailing, the same approach the Cowork harness uses. It also installs MCP servers via a standard ~/.kiro/settings/mcp.json config file, so the Hivemind MCP server can be wired in with a single hivemind install kiro command.
I run Java/Spring workshops where attendees use kiro-cli. Hivemind would be a natural fit for shared team memory across those sessions, but there's no integration path today.
Technical approach
I've read the Cowork harness (src/mcp/cowork-ingest.ts) and the Kiro session format. They map cleanly:
Kiro JSONL format (~/.kiro/sessions/cli/<uuid>.jsonl):
{"version":"v1","kind":"Prompt","data":{"content":[{"kind":"text","data":"..."}]}}
{"version":"v1","kind":"AssistantMessage","data":{"content":[{"kind":"text","data":"..."},{"kind":"toolUse","data":{"toolUseId":"...","name":"...","input":{...}}}]}}
{"version":"v1","kind":"ToolResults","data":{"content":[{"kind":"toolResult","data":{"toolUseId":"...","content":[...]}}]}}
Mapping to Hivemind session rows:
| Kiro kind | Hivemind type |
|---|---|
Prompt |
user_message (content from data.content[].data where kind=text) |
AssistantMessage text blocks |
assistant_message |
AssistantMessage toolUse blocks |
tool_call (tool_name, tool_use_id, tool_input) |
ToolResults toolResult blocks |
tool_result (tool_use_id, tool_response) |
MCP installation path — Kiro reads ~/.kiro/settings/mcp.json:
{
"mcpServers": {
"hivemind": {
"command": "npx",
"args": ["-y", "hivemind", "mcp"]
}
}
}
Planned implementation
src/kiro/kiro-ingest.ts— tails~/.kiro/sessions/cli/*.jsonl, maps kinds to Hivemind rows, watermarks per-transcript, drains to the session queue. Mirrorscowork-ingest.ts.src/cli/install-kiro.ts— merges the Hivemind MCP server entry into~/.kiro/settings/mcp.json, preserving existing servers.hivemind install kiroCLI command.startKiroIngestLoop()called from the MCP server on startup.- Tests mirroring
cowork-ingest.test.tsandinstall-cowork.test.ts.
Scope
Transcript tailing only (same as Cowork) — no kiro plugin API or hooks required. Sessions captured as agent = "kiro" rows. Summaries and skillify triggered on idle sessions via the existing summarizeIdleSessions pattern.
Happy to implement this if the approach looks good to you.
- Dominant language
- TypeScript
- Stars
- 1.6k
- Forks
- 107
- Avg merge
- 19h 25m
- Merged PRs (30d)
- 12
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from activeloopai/hivemind
-
Difficulty 1/5 Under an hour Newbie friendliness 95/100
activeloopai/hivemind#330 · 1 comment ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 72/100
activeloopai/hivemind#200 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 64/100
activeloopai/hivemind#184 ·
-
embeddings: alternation patterns (a|b|c) skip the embedding daemon and fall back to lexical-only Open
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
activeloopai/hivemind#86 ·
-
Difficulty 4/5 3-5 days Newbie friendliness 72/100
activeloopai/hivemind#361 · 1 comment ·
All issues in activeloopai/hivemind
Similar issues
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
Eynzof/Hermes-CN-Desktop#610 ·
-
bug clawsweeper:linked-pr-open clawsweeper:needs-live-repro clawsweeper:no-new-fix-pr impact:message-loss issue-rating: 🐚 platinum hermit P2 regression
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
-
enhancement
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
calcite-components needs triage refactor
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Esri/calcite-design-system#15203 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 78/100
fullcalendar/fullcalendar#8106 ·