@goondocks/myco 0.18.1 → 0.19.1
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 +17 -130
- package/dist/{agent-run-I4O2K2CK.js → agent-run-BV3ATBWB.js} +6 -6
- package/dist/{agent-tasks-UOW5BQIB.js → agent-tasks-I5SMLWVL.js} +6 -6
- package/dist/{chunk-TCSVDQF5.js → chunk-3J6TUJSV.js} +58 -58
- package/dist/chunk-3J6TUJSV.js.map +1 -0
- package/dist/{chunk-W7WENJ6F.js → chunk-46AQ7D23.js} +2 -2
- package/dist/{chunk-2V7HR7HB.js → chunk-4NIMDUYW.js} +5 -7
- package/dist/{chunk-2V7HR7HB.js.map → chunk-4NIMDUYW.js.map} +1 -1
- package/dist/{chunk-CURS2TNP.js → chunk-6DDRJQ4X.js} +2 -2
- package/dist/{chunk-D7TYRPRM.js → chunk-6LQIMRTC.js} +145 -145
- package/dist/chunk-6LQIMRTC.js.map +1 -0
- package/dist/{chunk-75AZFBFW.js → chunk-6ZDJXSEO.js} +3 -3
- package/dist/{chunk-TLK46KKD.js → chunk-AOCBCPAP.js} +5 -5
- package/dist/chunk-AOCBCPAP.js.map +1 -0
- package/dist/{chunk-O3TRN3RC.js → chunk-AULBWINA.js} +2 -2
- package/dist/chunk-CDM6ZLMZ.js +598 -0
- package/dist/chunk-CDM6ZLMZ.js.map +1 -0
- package/dist/{chunk-TOER6RNC.js → chunk-GVBVHYOT.js} +2 -2
- package/dist/{chunk-RIDSOQDR.js → chunk-HQLPB346.js} +2 -2
- package/dist/{chunk-CKJAWZQE.js → chunk-I54KLC6H.js} +13 -3
- package/dist/chunk-I54KLC6H.js.map +1 -0
- package/dist/{chunk-XWOQL4XN.js → chunk-NU74DHV3.js} +3 -3
- package/dist/{chunk-E4VLWIJC.js → chunk-ODXLRR4U.js} +1 -1
- package/dist/{chunk-RAV5YMRU.js → chunk-OR4XUYBJ.js} +4 -4
- package/dist/{chunk-CML4MCYF.js → chunk-PMT2LSTQ.js} +2 -2
- package/dist/{chunk-IB76KGBY.js → chunk-POEPHBQK.js} +1 -1
- package/dist/{chunk-TZAXQKO6.js → chunk-PZEAO35P.js} +2 -2
- package/dist/{chunk-GDY63YAW.js → chunk-U6PF3YII.js} +79 -79
- package/dist/chunk-U6PF3YII.js.map +1 -0
- package/dist/{chunk-C3EGL5JX.js → chunk-ULH667GT.js} +8 -8
- package/dist/{chunk-DPSLJ242.js → chunk-UVKQ62II.js} +3 -3
- package/dist/{chunk-N75GMQGA.js → chunk-VNL7KN4V.js} +3 -3
- package/dist/{chunk-U3J2DDSR.js → chunk-VQF5E4ZX.js} +2 -2
- package/dist/{chunk-LSP5HYOO.js → chunk-WGIQOJKJ.js} +4 -4
- package/dist/{chunk-YZPI2Y3E.js → chunk-WKNAKQKA.js} +3 -3
- package/dist/{chunk-NI23QCHB.js → chunk-YDU3AHSW.js} +5 -5
- package/dist/{cli-D3TJYJ2U.js → cli-2BW2PZMP.js} +39 -39
- package/dist/{client-4LLEXLVK.js → client-HMGTCKRW.js} +4 -4
- package/dist/{config-DA4IUVFL.js → config-LVXDVUYY.js} +6 -6
- package/dist/{detect-SZ2KDUF4.js → detect-BEOIHGBC.js} +5 -5
- package/dist/{detect-providers-PSVKXTWE.js → detect-providers-CDG6BKHU.js} +4 -4
- package/dist/{doctor-KCTXPX5D.js → doctor-AK3W5FMN.js} +11 -11
- package/dist/{executor-UYIZC3L5.js → executor-YLC7DHBY.js} +17 -17
- package/dist/{init-QFNBKKDC.js → init-4FV7ODOK.js} +15 -15
- package/dist/{llm-SMA5ZEAW.js → llm-INLSGEXY.js} +4 -4
- package/dist/{loader-Q3P3R4UP.js → loader-2ULW2FZS.js} +6 -6
- package/dist/{loader-SKKUMT5C.js → loader-HEGKUTGI.js} +6 -6
- package/dist/{main-5THODR77.js → main-IV64U72E.js} +348 -86
- package/dist/main-IV64U72E.js.map +1 -0
- package/dist/{open-7737CSPN.js → open-YSB36HP7.js} +6 -6
- package/dist/{post-compact-2TJ5FPZH.js → post-compact-5OB4LRLA.js} +10 -10
- package/dist/{post-tool-use-FRTSICC3.js → post-tool-use-2UOTDXXS.js} +9 -9
- package/dist/{post-tool-use-failure-KYO2NCNB.js → post-tool-use-failure-ZJQGHBMW.js} +10 -10
- package/dist/{pre-compact-J6GCJEJR.js → pre-compact-WD3FYUZ4.js} +10 -10
- package/dist/{provider-check-AE3L5Z6R.js → provider-check-V3NSOLZQ.js} +4 -4
- package/dist/{registry-O2NZLO3V.js → registry-XGRKLHEK.js} +7 -7
- package/dist/{remove-3WZZC7AX.js → remove-L6T4LMFP.js} +11 -11
- package/dist/{resolution-events-XWYLLDRK.js → resolution-events-PZFKMZHM.js} +4 -4
- package/dist/{restart-HUHEFOXU.js → restart-4UGLWER2.js} +7 -7
- package/dist/{search-ZGN3LDXG.js → search-MJGMQZ5N.js} +7 -7
- package/dist/{server-PTXLVVEE.js → server-MVBNGXLQ.js} +258 -173
- package/dist/server-MVBNGXLQ.js.map +1 -0
- package/dist/{session-7VV3IQMO.js → session-GLKHGGPJ.js} +8 -8
- package/dist/{session-end-SMU55UCM.js → session-end-ISPUQH3X.js} +9 -9
- package/dist/{session-start-NIMWEOIZ.js → session-start-VF26JMWW.js} +14 -14
- package/dist/{setup-llm-7S3VPAPN.js → setup-llm-7RCROQLP.js} +10 -10
- package/dist/src/cli.js +1 -1
- package/dist/src/daemon/main.js +1 -1
- package/dist/src/hooks/post-tool-use.js +1 -1
- package/dist/src/hooks/session-end.js +1 -1
- package/dist/src/hooks/session-start.js +1 -1
- package/dist/src/hooks/stop.js +1 -1
- package/dist/src/hooks/user-prompt-submit.js +1 -1
- package/dist/src/mcp/server.js +1 -1
- package/dist/{stats-GEOQ2DFF.js → stats-N7FYQSAY.js} +11 -11
- package/dist/{stop-7AKYBJJ2.js → stop-LVRFMSGO.js} +9 -9
- package/dist/{stop-failure-NLE2EURG.js → stop-failure-AXU5LOBN.js} +10 -10
- package/dist/{subagent-start-LBNZF2TG.js → subagent-start-KDJIQXQC.js} +10 -10
- package/dist/{subagent-stop-B2Z5GYAB.js → subagent-stop-2T2H2TYE.js} +10 -10
- package/dist/{task-completed-PO5TETJ7.js → task-completed-XHQ3XMYJ.js} +10 -10
- package/dist/team-GM2VZOVM.js +22 -0
- package/dist/ui/assets/{index-CiI1fwas.js → index-JtMb9fMt.js} +48 -48
- package/dist/ui/index.html +1 -1
- package/dist/{update-WBWB5URU.js → update-R6VHTRQA.js} +11 -11
- package/dist/{user-prompt-submit-IZJC3NV7.js → user-prompt-submit-EK2MDBLQ.js} +9 -9
- package/dist/{verify-FNSP62I3.js → verify-NK46D4II.js} +8 -8
- package/dist/{version-QEVU66NT.js → version-LTTJPC4F.js} +2 -2
- package/dist/version-LTTJPC4F.js.map +1 -0
- package/package.json +19 -2
- package/CONTRIBUTING.md +0 -132
- package/dist/chunk-CKJAWZQE.js.map +0 -1
- package/dist/chunk-D7TYRPRM.js.map +0 -1
- package/dist/chunk-GDY63YAW.js.map +0 -1
- package/dist/chunk-RJMXDUMA.js +0 -40
- package/dist/chunk-RJMXDUMA.js.map +0 -1
- package/dist/chunk-TCSVDQF5.js.map +0 -1
- package/dist/chunk-TLK46KKD.js.map +0 -1
- package/dist/main-5THODR77.js.map +0 -1
- package/dist/server-PTXLVVEE.js.map +0 -1
- package/dist/src/worker/package-lock.json +0 -4338
- package/dist/src/worker/package.json +0 -22
- package/dist/src/worker/src/auth.ts +0 -31
- package/dist/src/worker/src/index.ts +0 -476
- package/dist/src/worker/src/mcp/auth.ts +0 -65
- package/dist/src/worker/src/mcp/server.ts +0 -53
- package/dist/src/worker/src/mcp/tools/context.ts +0 -13
- package/dist/src/worker/src/mcp/tools/get.ts +0 -15
- package/dist/src/worker/src/mcp/tools/graph.ts +0 -35
- package/dist/src/worker/src/mcp/tools/search.ts +0 -32
- package/dist/src/worker/src/mcp/tools/sessions.ts +0 -24
- package/dist/src/worker/src/mcp/tools/skills.ts +0 -16
- package/dist/src/worker/src/mcp/tools/team.ts +0 -9
- package/dist/src/worker/src/schema.ts +0 -326
- package/dist/src/worker/src/search-helpers.ts +0 -70
- package/dist/src/worker/tsconfig.json +0 -16
- package/dist/src/worker/wrangler.toml +0 -30
- package/dist/team-DPNP2RN7.js +0 -368
- package/dist/team-DPNP2RN7.js.map +0 -1
- /package/dist/{agent-run-I4O2K2CK.js.map → agent-run-BV3ATBWB.js.map} +0 -0
- /package/dist/{agent-tasks-UOW5BQIB.js.map → agent-tasks-I5SMLWVL.js.map} +0 -0
- /package/dist/{chunk-W7WENJ6F.js.map → chunk-46AQ7D23.js.map} +0 -0
- /package/dist/{chunk-CURS2TNP.js.map → chunk-6DDRJQ4X.js.map} +0 -0
- /package/dist/{chunk-75AZFBFW.js.map → chunk-6ZDJXSEO.js.map} +0 -0
- /package/dist/{chunk-O3TRN3RC.js.map → chunk-AULBWINA.js.map} +0 -0
- /package/dist/{chunk-TOER6RNC.js.map → chunk-GVBVHYOT.js.map} +0 -0
- /package/dist/{chunk-RIDSOQDR.js.map → chunk-HQLPB346.js.map} +0 -0
- /package/dist/{chunk-XWOQL4XN.js.map → chunk-NU74DHV3.js.map} +0 -0
- /package/dist/{chunk-E4VLWIJC.js.map → chunk-ODXLRR4U.js.map} +0 -0
- /package/dist/{chunk-RAV5YMRU.js.map → chunk-OR4XUYBJ.js.map} +0 -0
- /package/dist/{chunk-CML4MCYF.js.map → chunk-PMT2LSTQ.js.map} +0 -0
- /package/dist/{chunk-IB76KGBY.js.map → chunk-POEPHBQK.js.map} +0 -0
- /package/dist/{chunk-TZAXQKO6.js.map → chunk-PZEAO35P.js.map} +0 -0
- /package/dist/{chunk-C3EGL5JX.js.map → chunk-ULH667GT.js.map} +0 -0
- /package/dist/{chunk-DPSLJ242.js.map → chunk-UVKQ62II.js.map} +0 -0
- /package/dist/{chunk-N75GMQGA.js.map → chunk-VNL7KN4V.js.map} +0 -0
- /package/dist/{chunk-U3J2DDSR.js.map → chunk-VQF5E4ZX.js.map} +0 -0
- /package/dist/{chunk-LSP5HYOO.js.map → chunk-WGIQOJKJ.js.map} +0 -0
- /package/dist/{chunk-YZPI2Y3E.js.map → chunk-WKNAKQKA.js.map} +0 -0
- /package/dist/{chunk-NI23QCHB.js.map → chunk-YDU3AHSW.js.map} +0 -0
- /package/dist/{cli-D3TJYJ2U.js.map → cli-2BW2PZMP.js.map} +0 -0
- /package/dist/{client-4LLEXLVK.js.map → client-HMGTCKRW.js.map} +0 -0
- /package/dist/{config-DA4IUVFL.js.map → config-LVXDVUYY.js.map} +0 -0
- /package/dist/{detect-SZ2KDUF4.js.map → detect-BEOIHGBC.js.map} +0 -0
- /package/dist/{detect-providers-PSVKXTWE.js.map → detect-providers-CDG6BKHU.js.map} +0 -0
- /package/dist/{doctor-KCTXPX5D.js.map → doctor-AK3W5FMN.js.map} +0 -0
- /package/dist/{executor-UYIZC3L5.js.map → executor-YLC7DHBY.js.map} +0 -0
- /package/dist/{init-QFNBKKDC.js.map → init-4FV7ODOK.js.map} +0 -0
- /package/dist/{llm-SMA5ZEAW.js.map → llm-INLSGEXY.js.map} +0 -0
- /package/dist/{loader-Q3P3R4UP.js.map → loader-2ULW2FZS.js.map} +0 -0
- /package/dist/{loader-SKKUMT5C.js.map → loader-HEGKUTGI.js.map} +0 -0
- /package/dist/{open-7737CSPN.js.map → open-YSB36HP7.js.map} +0 -0
- /package/dist/{post-compact-2TJ5FPZH.js.map → post-compact-5OB4LRLA.js.map} +0 -0
- /package/dist/{post-tool-use-FRTSICC3.js.map → post-tool-use-2UOTDXXS.js.map} +0 -0
- /package/dist/{post-tool-use-failure-KYO2NCNB.js.map → post-tool-use-failure-ZJQGHBMW.js.map} +0 -0
- /package/dist/{pre-compact-J6GCJEJR.js.map → pre-compact-WD3FYUZ4.js.map} +0 -0
- /package/dist/{provider-check-AE3L5Z6R.js.map → provider-check-V3NSOLZQ.js.map} +0 -0
- /package/dist/{registry-O2NZLO3V.js.map → registry-XGRKLHEK.js.map} +0 -0
- /package/dist/{remove-3WZZC7AX.js.map → remove-L6T4LMFP.js.map} +0 -0
- /package/dist/{resolution-events-XWYLLDRK.js.map → resolution-events-PZFKMZHM.js.map} +0 -0
- /package/dist/{restart-HUHEFOXU.js.map → restart-4UGLWER2.js.map} +0 -0
- /package/dist/{search-ZGN3LDXG.js.map → search-MJGMQZ5N.js.map} +0 -0
- /package/dist/{session-7VV3IQMO.js.map → session-GLKHGGPJ.js.map} +0 -0
- /package/dist/{session-end-SMU55UCM.js.map → session-end-ISPUQH3X.js.map} +0 -0
- /package/dist/{session-start-NIMWEOIZ.js.map → session-start-VF26JMWW.js.map} +0 -0
- /package/dist/{setup-llm-7S3VPAPN.js.map → setup-llm-7RCROQLP.js.map} +0 -0
- /package/dist/{stats-GEOQ2DFF.js.map → stats-N7FYQSAY.js.map} +0 -0
- /package/dist/{stop-7AKYBJJ2.js.map → stop-LVRFMSGO.js.map} +0 -0
- /package/dist/{stop-failure-NLE2EURG.js.map → stop-failure-AXU5LOBN.js.map} +0 -0
- /package/dist/{subagent-start-LBNZF2TG.js.map → subagent-start-KDJIQXQC.js.map} +0 -0
- /package/dist/{subagent-stop-B2Z5GYAB.js.map → subagent-stop-2T2H2TYE.js.map} +0 -0
- /package/dist/{task-completed-PO5TETJ7.js.map → task-completed-XHQ3XMYJ.js.map} +0 -0
- /package/dist/{version-QEVU66NT.js.map → team-GM2VZOVM.js.map} +0 -0
- /package/dist/{update-WBWB5URU.js.map → update-R6VHTRQA.js.map} +0 -0
- /package/dist/{user-prompt-submit-IZJC3NV7.js.map → user-prompt-submit-EK2MDBLQ.js.map} +0 -0
- /package/dist/{verify-FNSP62I3.js.map → verify-NK46D4II.js.map} +0 -0
package/README.md
CHANGED
|
@@ -1,150 +1,37 @@
|
|
|
1
|
-
|
|
2
|
-
<img src="assets/hero-wide.svg" alt="Myco" width="100%">
|
|
3
|
-
</p>
|
|
1
|
+
# @goondocks/myco
|
|
4
2
|
|
|
5
|
-
|
|
6
|
-
<strong>The intelligence layer for your projects and team</strong>
|
|
7
|
-
</p>
|
|
3
|
+
`@goondocks/myco` is the main Myco package.
|
|
8
4
|
|
|
9
|
-
|
|
10
|
-
<a href="https://github.com/goondocks-co/myco/actions/workflows/ci.yml"><img src="https://github.com/goondocks-co/myco/actions/workflows/ci.yml/badge.svg" alt="CI"></a>
|
|
11
|
-
<a href="https://github.com/goondocks-co/myco/actions/workflows/publish.yml"><img src="https://github.com/goondocks-co/myco/actions/workflows/publish.yml/badge.svg" alt="Release"></a>
|
|
12
|
-
<a href="https://www.npmjs.com/package/@goondocks/myco"><img src="https://img.shields.io/npm/v/@goondocks/myco?label=npm&color=22c55e" alt="npm"></a>
|
|
13
|
-
<a href="https://github.com/goondocks-co/myco/blob/main/LICENSE"><img src="https://img.shields.io/github/license/goondocks-co/myco?color=22c55e" alt="License"></a>
|
|
14
|
-
<img src="https://img.shields.io/badge/node-%3E%3D22-22c55e" alt="Node 22+">
|
|
15
|
-
<img src="https://img.shields.io/badge/agents-Claude%20Code%20%7C%20Cursor%20%7C%20Codex%20%7C%20VS%20Code%20%7C%20Gemini%20%7C%20Windsurf%20%7C%20OpenCode-22c55e" alt="Claude Code | Cursor | Codex | VS Code | Gemini | Windsurf | OpenCode">
|
|
16
|
-
</p>
|
|
5
|
+
Install it to add Myco to a project, run the local dashboard and daemon, connect supported coding agents, and use the built-in team sync workflow.
|
|
17
6
|
|
|
18
7
|
```bash
|
|
19
8
|
curl -fsSL https://myco.sh/install.sh | sh
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
Then initialize in your project:
|
|
23
|
-
```bash
|
|
24
9
|
cd your-project
|
|
25
10
|
myco init
|
|
26
11
|
```
|
|
27
12
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
## What is Myco?
|
|
31
|
-
|
|
32
|
-
Myco is the intelligence layer beneath your projects. Named after [mycorrhizal networks](https://en.wikipedia.org/wiki/Mycorrhizal_network) — the underground fungal systems that connect trees in a forest — Myco captures what happens across your coding sessions and connects it into a living knowledge graph, sharing intelligence between agents and team members beneath the surface.
|
|
33
|
-
|
|
34
|
-
Every coding session produces knowledge: decisions made, gotchas discovered, trade-offs weighed, bugs fixed. Without Myco, that knowledge dies when the session ends. With Myco, it's captured as **spores** — discrete observations that persist, connect, and compound over time.
|
|
35
|
-
|
|
36
|
-
**For agents** — [MCP tools and skills](docs/agent-tools.md) let any agent search, recall, and build on accumulated knowledge. A digest extract is injected at session start and relevant spores surface after each prompt — agents get context without being told to search.
|
|
37
|
-
|
|
38
|
-
**For humans** — a local [dashboard](#dashboard) provides configuration, operational triggers, and monitoring. Manage providers, run intelligence cycles, and view live logs.
|
|
39
|
-
|
|
40
|
-
**For teams** — [team sync](docs/team-sync.md) shares accumulated knowledge across machines through a Cloudflare Worker. Every teammate's agent gets access to the team's collective intelligence — spores, session context, and the knowledge graph — through the same search tools they already use.
|
|
41
|
-
|
|
42
|
-
## How it works
|
|
43
|
-
|
|
44
|
-
### Capture
|
|
45
|
-
|
|
46
|
-
Myco hooks into your agent's lifecycle — session starts, prompts, tool calls, stops — and records activity in the vault's SQLite database. A background daemon parses the agent's conversation transcript to capture the full dialogue, including AI responses and any screenshots shared during the session.
|
|
47
|
-
|
|
48
|
-
### Intelligence
|
|
49
|
-
|
|
50
|
-
Myco runs an intelligence pipeline in the background that reads captured sessions and turns them into durable knowledge. It extracts **spores** (observations like decisions, gotchas, discoveries, trade-offs, bug fixes), generates session titles and summaries, links entities into a knowledge graph, and refreshes digest extracts — all automatically.
|
|
51
|
-
|
|
52
|
-
When the agent finds 3+ semantically similar spores, it synthesizes them into a **wisdom** spore — a higher-order observation that captures the pattern across sessions. Individual observations become institutional knowledge.
|
|
53
|
-
|
|
54
|
-
Every task can use a different LLM provider. Run title generation on a fast local model via Ollama, extraction on Claude, consolidation on a larger local model via LM Studio. Configure globally or per-task in `myco.yaml`, or use the [dashboard](#dashboard) to manage assignments visually.
|
|
55
|
-
|
|
56
|
-
See the [Intelligence Pipeline docs](docs/agent-harness.md) for the task catalog, provider configuration, and scheduling.
|
|
57
|
-
|
|
58
|
-
### Digest
|
|
59
|
-
|
|
60
|
-
The digest synthesizes accumulated knowledge into tiered **extracts** — pre-computed context at different depths:
|
|
61
|
-
|
|
62
|
-
| Tier | Purpose |
|
|
63
|
-
|------|---------|
|
|
64
|
-
| **1,500 tokens** | Executive briefing — what this project is, what's active, what to avoid |
|
|
65
|
-
| **5,000 tokens** | Deep onboarding — trade-offs, patterns, team dynamics |
|
|
66
|
-
| **10,000 tokens** | Institutional knowledge — full thread history and design tensions |
|
|
67
|
-
|
|
68
|
-
Extracts refresh in the background as new knowledge arrives. When the project goes quiet, refresh slows; new sessions wake it back up.
|
|
69
|
-
|
|
70
|
-
### Search
|
|
71
|
-
|
|
72
|
-
Every record is indexed for both keyword search and semantic similarity. Use [Ollama](https://ollama.com) locally for embeddings, or [OpenRouter](https://openrouter.ai) / [OpenAI](https://platform.openai.com) in the cloud. The index is fully rebuildable from the database.
|
|
73
|
-
|
|
74
|
-
### Context injection
|
|
75
|
-
|
|
76
|
-
Two automatic injection points ensure agents always have relevant intelligence:
|
|
77
|
-
|
|
78
|
-
- **Session start** — the digest extract gives the agent pre-computed project understanding before it asks a single question.
|
|
79
|
-
- **Per-prompt** — after each user prompt, relevant spores are retrieved via semantic search, providing targeted context for the task at hand.
|
|
80
|
-
|
|
81
|
-
Agents don't need to search explicitly — Myco surfaces what's relevant.
|
|
82
|
-
|
|
83
|
-
### Dashboard
|
|
84
|
-
|
|
85
|
-
A local web dashboard provides configuration and operations management. Manage intelligence providers and per-task model assignments, trigger agent and digest cycles, monitor daemon health, and view live logs.
|
|
86
|
-
|
|
87
|
-
<p align="center">
|
|
88
|
-
<img src="assets/myco-dashboard.png" alt="Myco Dashboard" width="100%">
|
|
89
|
-
</p>
|
|
90
|
-
|
|
91
|
-
### Symbionts
|
|
92
|
-
|
|
93
|
-
Myco integrates with coding agents through **symbionts** — named for the mycorrhizal symbiotic relationship between fungi and their host trees. `myco init` detects available agents and lets you choose which to configure. Registration is project-local — hooks, MCP servers, skills, and auto-approve settings are written directly to each agent's config files.
|
|
94
|
-
|
|
95
|
-
| Agent | Hooks | MCP | Skills | Auto-Approve | Plans |
|
|
96
|
-
|-------|-------|-----|--------|-------------|-------|
|
|
97
|
-
| [Claude Code](https://claude.ai/code) | `.claude/settings.json` | `.mcp.json` | `.claude/skills/` | `permissions.allow` | `.claude/plans/` |
|
|
98
|
-
| [Cursor](https://cursor.com) | — | `.cursor/mcp.json` | `.cursor/skills/` | `autoApprove` | `.cursor/plans/` |
|
|
99
|
-
| [Codex](https://github.com/openai/codex) | `.codex/hooks.json` | `.codex/config.toml` | `.agents/skills/` | — | — |
|
|
100
|
-
| [VS Code Copilot](https://code.visualstudio.com/docs/copilot) | `.github/hooks/` | `.vscode/mcp.json` | `.agents/skills/` | `autoApprove` | — |
|
|
101
|
-
| [Gemini CLI](https://geminicli.com) | `.gemini/settings.json` | `.gemini/settings.json` | `.agents/skills/` | `coreTools` | `.gemini/plans/` |
|
|
102
|
-
| [Windsurf](https://windsurf.com) | `.windsurf/hooks.json` | — | `.agents/skills/` | `cascadeCommandsAllowList` | `~/.windsurf/plans/` |
|
|
103
|
-
| [OpenCode](https://opencode.ai) | `.opencode/plugins/myco.ts` (plugin) | `opencode.json` (`mcp` key) | `.agents/skills/` | `permission.bash` | `.opencode/plans/` |
|
|
104
|
-
|
|
105
|
-
Skills are installed once to `.agents/skills/` (the emerging cross-agent standard) and symlinked to each agent's native skills directory. Adding a new agent requires only a YAML manifest and templates — no code changes for JSON-hook agents, and a small manifest extension for plugin-based agents like OpenCode.
|
|
106
|
-
|
|
107
|
-
See the [Symbiont docs](docs/symbionts.md) for detailed setup information per agent.
|
|
108
|
-
|
|
109
|
-
### Team sync
|
|
110
|
-
|
|
111
|
-
Share knowledge across machines and team members with one command:
|
|
112
|
-
|
|
113
|
-
```bash
|
|
114
|
-
myco team init # Provisions Cloudflare D1 + Vectorize + KV + Worker
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
Share the output URL and API key with teammates — they connect from the Team page in the dashboard. Once connected, knowledge syncs automatically: new spores, session summaries, plans, and graph edges push to the team store in the background. Search queries fan out to both local and cloud databases, merging results by relevance score.
|
|
118
|
-
|
|
119
|
-
Local databases remain the source of truth. The cloud store is a queryable mirror — no data is pulled back down. Each record carries a machine identity for attribution.
|
|
120
|
-
|
|
121
|
-
Runs on the Cloudflare free tier. See the [Team Sync docs](docs/team-sync.md) for the full guide.
|
|
122
|
-
|
|
123
|
-
### Cloud MCP Server
|
|
124
|
-
|
|
125
|
-
Team sync also deploys a read-only **Cloud MCP server** on the same Worker — a Streamable HTTP endpoint that exposes your project's intelligence to cloud agents like Anthropic Managed Agents, OpenAI Workflows, and N8N. Connect any tool that speaks MCP and it gets the same project context your local agents already have. See the [Cloud MCP docs](docs/cloud-mcp.md) for the tool reference and setup.
|
|
126
|
-
|
|
127
|
-
### Skills — automated curation, not just memory
|
|
128
|
-
|
|
129
|
-
Memory is table stakes. Myco goes further: it turns everything your team learns into **repeatable workflows** that every agent follows. The intelligence pipeline identifies procedural patterns across sessions — debugging the build, adding API routes, configuring providers, resolving common gotchas — and surfaces them as candidates. You approve what becomes canon, and Myco generates validated SKILL.md files under `.agents/skills/`, symlinked into every agent's native skills directory.
|
|
130
|
-
|
|
131
|
-
Skills evolve as your code does. When a pattern is abandoned, a new gotcha is discovered, or a workflow shifts, the evolve task rewrites affected skills — preserving what's still accurate, incorporating what's new, and splitting skills that have grown too broad. See the [Skills docs](docs/skills.md) for the full lifecycle.
|
|
132
|
-
|
|
133
|
-
### Backup & restore
|
|
13
|
+
## What you can do
|
|
134
14
|
|
|
135
|
-
|
|
15
|
+
- Capture coding sessions into a local Myco vault
|
|
16
|
+
- Run the local dashboard, daemon, and MCP server
|
|
17
|
+
- Search sessions, spores, plans, and artifacts
|
|
18
|
+
- Share project intelligence with Team Sync
|
|
19
|
+
- Connect multiple team workers to a Myco Collective
|
|
136
20
|
|
|
137
|
-
##
|
|
21
|
+
## Upgrade
|
|
138
22
|
|
|
139
23
|
```bash
|
|
140
|
-
myco
|
|
24
|
+
npm update -g @goondocks/myco
|
|
141
25
|
```
|
|
142
26
|
|
|
143
|
-
|
|
27
|
+
The Operations page can also detect and apply updates for installed Myco packages on the same machine.
|
|
144
28
|
|
|
145
|
-
##
|
|
29
|
+
## Learn more
|
|
146
30
|
|
|
147
|
-
|
|
31
|
+
- Project homepage: <https://github.com/goondocks-co/myco>
|
|
32
|
+
- Quickstart: <https://github.com/goondocks-co/myco/blob/main/docs/quickstart.md>
|
|
33
|
+
- Team Sync: <https://github.com/goondocks-co/myco/blob/main/docs/team-sync.md>
|
|
34
|
+
- Collective: <https://github.com/goondocks-co/myco/blob/main/docs/collective.md>
|
|
148
35
|
|
|
149
36
|
## License
|
|
150
37
|
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
connectToDaemon
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-AOCBCPAP.js";
|
|
5
5
|
import "./chunk-SAKJMNSR.js";
|
|
6
6
|
import "./chunk-WYOE4IAX.js";
|
|
7
|
-
import "./chunk-
|
|
7
|
+
import "./chunk-PMT2LSTQ.js";
|
|
8
8
|
import "./chunk-MYX5NCRH.js";
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-NU74DHV3.js";
|
|
10
|
+
import "./chunk-46AQ7D23.js";
|
|
11
11
|
import "./chunk-LPUQPDC2.js";
|
|
12
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-I54KLC6H.js";
|
|
13
13
|
import "./chunk-E7NUADTQ.js";
|
|
14
14
|
import "./chunk-PZUWP5VK.js";
|
|
15
15
|
|
|
@@ -32,4 +32,4 @@ async function run(args, vaultDir) {
|
|
|
32
32
|
export {
|
|
33
33
|
run
|
|
34
34
|
};
|
|
35
|
-
//# sourceMappingURL=agent-run-
|
|
35
|
+
//# sourceMappingURL=agent-run-BV3ATBWB.js.map
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { createRequire as __cr } from 'node:module'; const require = __cr(import.meta.url);
|
|
2
2
|
import {
|
|
3
3
|
connectToDaemon
|
|
4
|
-
} from "./chunk-
|
|
4
|
+
} from "./chunk-AOCBCPAP.js";
|
|
5
5
|
import "./chunk-SAKJMNSR.js";
|
|
6
6
|
import "./chunk-WYOE4IAX.js";
|
|
7
|
-
import "./chunk-
|
|
7
|
+
import "./chunk-PMT2LSTQ.js";
|
|
8
8
|
import "./chunk-MYX5NCRH.js";
|
|
9
|
-
import "./chunk-
|
|
10
|
-
import "./chunk-
|
|
9
|
+
import "./chunk-NU74DHV3.js";
|
|
10
|
+
import "./chunk-46AQ7D23.js";
|
|
11
11
|
import "./chunk-LPUQPDC2.js";
|
|
12
|
-
import "./chunk-
|
|
12
|
+
import "./chunk-I54KLC6H.js";
|
|
13
13
|
import "./chunk-E7NUADTQ.js";
|
|
14
14
|
import "./chunk-PZUWP5VK.js";
|
|
15
15
|
|
|
@@ -178,4 +178,4 @@ async function run(args, vaultDir) {
|
|
|
178
178
|
export {
|
|
179
179
|
run
|
|
180
180
|
};
|
|
181
|
-
//# sourceMappingURL=agent-tasks-
|
|
181
|
+
//# sourceMappingURL=agent-tasks-I5SMLWVL.js.map
|