@goondocks/myco 0.1.0
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/.claude-plugin/marketplace.json +22 -0
- package/.claude-plugin/plugin.json +18 -0
- package/CONTRIBUTING.md +143 -0
- package/LICENSE +21 -0
- package/README.md +74 -0
- package/commands/init.md +231 -0
- package/commands/setup-llm.md +89 -0
- package/commands/status.md +112 -0
- package/dist/src/agents/adapter.d.ts +76 -0
- package/dist/src/agents/adapter.d.ts.map +1 -0
- package/dist/src/agents/adapter.js +124 -0
- package/dist/src/agents/adapter.js.map +1 -0
- package/dist/src/agents/claude-code.d.ts +3 -0
- package/dist/src/agents/claude-code.d.ts.map +1 -0
- package/dist/src/agents/claude-code.js +22 -0
- package/dist/src/agents/claude-code.js.map +1 -0
- package/dist/src/agents/cursor.d.ts +3 -0
- package/dist/src/agents/cursor.d.ts.map +1 -0
- package/dist/src/agents/cursor.js +154 -0
- package/dist/src/agents/cursor.js.map +1 -0
- package/dist/src/agents/index.d.ts +6 -0
- package/dist/src/agents/index.d.ts.map +1 -0
- package/dist/src/agents/index.js +5 -0
- package/dist/src/agents/index.js.map +1 -0
- package/dist/src/agents/registry.d.ts +34 -0
- package/dist/src/agents/registry.d.ts.map +1 -0
- package/dist/src/agents/registry.js +95 -0
- package/dist/src/agents/registry.js.map +1 -0
- package/dist/src/artifacts/candidates.d.ts +20 -0
- package/dist/src/artifacts/candidates.d.ts.map +1 -0
- package/dist/src/artifacts/candidates.js +84 -0
- package/dist/src/artifacts/candidates.js.map +1 -0
- package/dist/src/artifacts/slugify.d.ts +2 -0
- package/dist/src/artifacts/slugify.d.ts.map +1 -0
- package/dist/src/artifacts/slugify.js +22 -0
- package/dist/src/artifacts/slugify.js.map +1 -0
- package/dist/src/capture/artifact-watcher.d.ts +19 -0
- package/dist/src/capture/artifact-watcher.d.ts.map +1 -0
- package/dist/src/capture/artifact-watcher.js +37 -0
- package/dist/src/capture/artifact-watcher.js.map +1 -0
- package/dist/src/capture/buffer.d.ts +20 -0
- package/dist/src/capture/buffer.d.ts.map +1 -0
- package/dist/src/capture/buffer.js +55 -0
- package/dist/src/capture/buffer.js.map +1 -0
- package/dist/src/capture/plan-detector.d.ts +15 -0
- package/dist/src/capture/plan-detector.d.ts.map +1 -0
- package/dist/src/capture/plan-detector.js +34 -0
- package/dist/src/capture/plan-detector.js.map +1 -0
- package/dist/src/capture/processor.d.ts +2 -0
- package/dist/src/capture/processor.d.ts.map +1 -0
- package/dist/src/capture/processor.js +3 -0
- package/dist/src/capture/processor.js.map +1 -0
- package/dist/src/capture/prompts/classify.md +28 -0
- package/dist/src/capture/prompts/debugging.md +91 -0
- package/dist/src/capture/prompts/exploration.md +88 -0
- package/dist/src/capture/prompts/extraction.md +93 -0
- package/dist/src/capture/prompts/implementation.md +90 -0
- package/dist/src/capture/prompts/prompts/classify.md +28 -0
- package/dist/src/capture/prompts/prompts/debugging.md +91 -0
- package/dist/src/capture/prompts/prompts/exploration.md +88 -0
- package/dist/src/capture/prompts/prompts/extraction.md +93 -0
- package/dist/src/capture/prompts/prompts/implementation.md +90 -0
- package/dist/src/capture/prompts/prompts/schema.yaml +97 -0
- package/dist/src/capture/prompts/prompts/session-summary.md +65 -0
- package/dist/src/capture/prompts/prompts/session-title.md +46 -0
- package/dist/src/capture/prompts/schema.yaml +97 -0
- package/dist/src/capture/prompts/session-summary.md +65 -0
- package/dist/src/capture/prompts/session-title.md +46 -0
- package/dist/src/capture/prompts.d.ts +77 -0
- package/dist/src/capture/prompts.d.ts.map +1 -0
- package/dist/src/capture/prompts.js +255 -0
- package/dist/src/capture/prompts.js.map +1 -0
- package/dist/src/capture/transcript-miner.d.ts +31 -0
- package/dist/src/capture/transcript-miner.d.ts.map +1 -0
- package/dist/src/capture/transcript-miner.js +61 -0
- package/dist/src/capture/transcript-miner.js.map +1 -0
- package/dist/src/cli.d.ts +3 -0
- package/dist/src/cli.d.ts.map +1 -0
- package/dist/src/cli.js +584 -0
- package/dist/src/cli.js.map +1 -0
- package/dist/src/config/loader.d.ts +4 -0
- package/dist/src/config/loader.d.ts.map +1 -0
- package/dist/src/config/loader.js +32 -0
- package/dist/src/config/loader.js.map +1 -0
- package/dist/src/config/schema.d.ts +83 -0
- package/dist/src/config/schema.d.ts.map +1 -0
- package/dist/src/config/schema.js +55 -0
- package/dist/src/config/schema.js.map +1 -0
- package/dist/src/constants.d.ts +73 -0
- package/dist/src/constants.d.ts.map +1 -0
- package/dist/src/constants.js +86 -0
- package/dist/src/constants.js.map +1 -0
- package/dist/src/context/injector.d.ts +18 -0
- package/dist/src/context/injector.d.ts.map +1 -0
- package/dist/src/context/injector.js +71 -0
- package/dist/src/context/injector.js.map +1 -0
- package/dist/src/context/relevance.d.ts +13 -0
- package/dist/src/context/relevance.d.ts.map +1 -0
- package/dist/src/context/relevance.js +44 -0
- package/dist/src/context/relevance.js.map +1 -0
- package/dist/src/daemon/batch.d.ts +22 -0
- package/dist/src/daemon/batch.d.ts.map +1 -0
- package/dist/src/daemon/batch.js +38 -0
- package/dist/src/daemon/batch.js.map +1 -0
- package/dist/src/daemon/lifecycle.d.ts +27 -0
- package/dist/src/daemon/lifecycle.d.ts.map +1 -0
- package/dist/src/daemon/lifecycle.js +50 -0
- package/dist/src/daemon/lifecycle.js.map +1 -0
- package/dist/src/daemon/lineage.d.ts +42 -0
- package/dist/src/daemon/lineage.d.ts.map +1 -0
- package/dist/src/daemon/lineage.js +116 -0
- package/dist/src/daemon/lineage.js.map +1 -0
- package/dist/src/daemon/logger.d.ts +33 -0
- package/dist/src/daemon/logger.d.ts.map +1 -0
- package/dist/src/daemon/logger.js +88 -0
- package/dist/src/daemon/logger.js.map +1 -0
- package/dist/src/daemon/main.d.ts +2 -0
- package/dist/src/daemon/main.d.ts.map +1 -0
- package/dist/src/daemon/main.js +738 -0
- package/dist/src/daemon/main.js.map +1 -0
- package/dist/src/daemon/processor.d.ts +44 -0
- package/dist/src/daemon/processor.d.ts.map +1 -0
- package/dist/src/daemon/processor.js +142 -0
- package/dist/src/daemon/processor.js.map +1 -0
- package/dist/src/daemon/server.d.ts +24 -0
- package/dist/src/daemon/server.d.ts.map +1 -0
- package/dist/src/daemon/server.js +117 -0
- package/dist/src/daemon/server.js.map +1 -0
- package/dist/src/daemon/watcher.d.ts +29 -0
- package/dist/src/daemon/watcher.d.ts.map +1 -0
- package/dist/src/daemon/watcher.js +67 -0
- package/dist/src/daemon/watcher.js.map +1 -0
- package/dist/src/hooks/client.d.ts +20 -0
- package/dist/src/hooks/client.d.ts.map +1 -0
- package/dist/src/hooks/client.js +111 -0
- package/dist/src/hooks/client.js.map +1 -0
- package/dist/src/hooks/post-tool-use.d.ts +2 -0
- package/dist/src/hooks/post-tool-use.d.ts.map +1 -0
- package/dist/src/hooks/post-tool-use.js +40 -0
- package/dist/src/hooks/post-tool-use.js.map +1 -0
- package/dist/src/hooks/read-stdin.d.ts +2 -0
- package/dist/src/hooks/read-stdin.d.ts.map +1 -0
- package/dist/src/hooks/read-stdin.js +10 -0
- package/dist/src/hooks/read-stdin.js.map +1 -0
- package/dist/src/hooks/session-end.d.ts +2 -0
- package/dist/src/hooks/session-end.d.ts.map +1 -0
- package/dist/src/hooks/session-end.js +23 -0
- package/dist/src/hooks/session-end.js.map +1 -0
- package/dist/src/hooks/session-start.d.ts +2 -0
- package/dist/src/hooks/session-start.d.ts.map +1 -0
- package/dist/src/hooks/session-start.js +49 -0
- package/dist/src/hooks/session-start.js.map +1 -0
- package/dist/src/hooks/stop.d.ts +2 -0
- package/dist/src/hooks/stop.d.ts.map +1 -0
- package/dist/src/hooks/stop.js +34 -0
- package/dist/src/hooks/stop.js.map +1 -0
- package/dist/src/hooks/user-prompt-submit.d.ts +2 -0
- package/dist/src/hooks/user-prompt-submit.d.ts.map +1 -0
- package/dist/src/hooks/user-prompt-submit.js +46 -0
- package/dist/src/hooks/user-prompt-submit.js.map +1 -0
- package/dist/src/index/fts.d.ts +16 -0
- package/dist/src/index/fts.d.ts.map +1 -0
- package/dist/src/index/fts.js +53 -0
- package/dist/src/index/fts.js.map +1 -0
- package/dist/src/index/rebuild.d.ts +4 -0
- package/dist/src/index/rebuild.d.ts.map +1 -0
- package/dist/src/index/rebuild.js +40 -0
- package/dist/src/index/rebuild.js.map +1 -0
- package/dist/src/index/sqlite.d.ts +33 -0
- package/dist/src/index/sqlite.d.ts.map +1 -0
- package/dist/src/index/sqlite.js +99 -0
- package/dist/src/index/sqlite.js.map +1 -0
- package/dist/src/index/vectors.d.ts +24 -0
- package/dist/src/index/vectors.d.ts.map +1 -0
- package/dist/src/index/vectors.js +97 -0
- package/dist/src/index/vectors.js.map +1 -0
- package/dist/src/intelligence/anthropic.d.ts +17 -0
- package/dist/src/intelligence/anthropic.d.ts.map +1 -0
- package/dist/src/intelligence/anthropic.js +36 -0
- package/dist/src/intelligence/anthropic.js.map +1 -0
- package/dist/src/intelligence/embeddings.d.ts +3 -0
- package/dist/src/intelligence/embeddings.d.ts.map +1 -0
- package/dist/src/intelligence/embeddings.js +15 -0
- package/dist/src/intelligence/embeddings.js.map +1 -0
- package/dist/src/intelligence/haiku.d.ts +17 -0
- package/dist/src/intelligence/haiku.d.ts.map +1 -0
- package/dist/src/intelligence/haiku.js +35 -0
- package/dist/src/intelligence/haiku.js.map +1 -0
- package/dist/src/intelligence/llm.d.ts +33 -0
- package/dist/src/intelligence/llm.d.ts.map +1 -0
- package/dist/src/intelligence/llm.js +26 -0
- package/dist/src/intelligence/llm.js.map +1 -0
- package/dist/src/intelligence/lm-studio.d.ts +20 -0
- package/dist/src/intelligence/lm-studio.d.ts.map +1 -0
- package/dist/src/intelligence/lm-studio.js +59 -0
- package/dist/src/intelligence/lm-studio.js.map +1 -0
- package/dist/src/intelligence/ollama.d.ts +22 -0
- package/dist/src/intelligence/ollama.d.ts.map +1 -0
- package/dist/src/intelligence/ollama.js +64 -0
- package/dist/src/intelligence/ollama.js.map +1 -0
- package/dist/src/intelligence/response.d.ts +29 -0
- package/dist/src/intelligence/response.d.ts.map +1 -0
- package/dist/src/intelligence/response.js +71 -0
- package/dist/src/intelligence/response.js.map +1 -0
- package/dist/src/intelligence/service.d.ts +18 -0
- package/dist/src/intelligence/service.d.ts.map +1 -0
- package/dist/src/intelligence/service.js +66 -0
- package/dist/src/intelligence/service.js.map +1 -0
- package/dist/src/logs/format.d.ts +6 -0
- package/dist/src/logs/format.d.ts.map +1 -0
- package/dist/src/logs/format.js +46 -0
- package/dist/src/logs/format.js.map +1 -0
- package/dist/src/logs/reader.d.ts +28 -0
- package/dist/src/logs/reader.d.ts.map +1 -0
- package/dist/src/logs/reader.js +106 -0
- package/dist/src/logs/reader.js.map +1 -0
- package/dist/src/mcp/server.d.ts +16 -0
- package/dist/src/mcp/server.d.ts.map +1 -0
- package/dist/src/mcp/server.js +305 -0
- package/dist/src/mcp/server.js.map +1 -0
- package/dist/src/mcp/tools/consolidate.d.ts +15 -0
- package/dist/src/mcp/tools/consolidate.d.ts.map +1 -0
- package/dist/src/mcp/tools/consolidate.js +49 -0
- package/dist/src/mcp/tools/consolidate.js.map +1 -0
- package/dist/src/mcp/tools/graph.d.ts +30 -0
- package/dist/src/mcp/tools/graph.d.ts.map +1 -0
- package/dist/src/mcp/tools/graph.js +106 -0
- package/dist/src/mcp/tools/graph.js.map +1 -0
- package/dist/src/mcp/tools/logs.d.ts +3 -0
- package/dist/src/mcp/tools/logs.d.ts.map +1 -0
- package/dist/src/mcp/tools/logs.js +7 -0
- package/dist/src/mcp/tools/logs.js.map +1 -0
- package/dist/src/mcp/tools/plans.d.ts +23 -0
- package/dist/src/mcp/tools/plans.d.ts.map +1 -0
- package/dist/src/mcp/tools/plans.js +63 -0
- package/dist/src/mcp/tools/plans.js.map +1 -0
- package/dist/src/mcp/tools/recall.d.ts +30 -0
- package/dist/src/mcp/tools/recall.d.ts.map +1 -0
- package/dist/src/mcp/tools/recall.js +34 -0
- package/dist/src/mcp/tools/recall.js.map +1 -0
- package/dist/src/mcp/tools/remember.d.ts +15 -0
- package/dist/src/mcp/tools/remember.d.ts.map +1 -0
- package/dist/src/mcp/tools/remember.js +18 -0
- package/dist/src/mcp/tools/remember.js.map +1 -0
- package/dist/src/mcp/tools/search.d.ts +19 -0
- package/dist/src/mcp/tools/search.d.ts.map +1 -0
- package/dist/src/mcp/tools/search.js +59 -0
- package/dist/src/mcp/tools/search.js.map +1 -0
- package/dist/src/mcp/tools/sessions.d.ts +21 -0
- package/dist/src/mcp/tools/sessions.d.ts.map +1 -0
- package/dist/src/mcp/tools/sessions.js +36 -0
- package/dist/src/mcp/tools/sessions.js.map +1 -0
- package/dist/src/mcp/tools/supersede.d.ts +14 -0
- package/dist/src/mcp/tools/supersede.d.ts.map +1 -0
- package/dist/src/mcp/tools/supersede.js +30 -0
- package/dist/src/mcp/tools/supersede.js.map +1 -0
- package/dist/src/mcp/tools/team.d.ts +16 -0
- package/dist/src/mcp/tools/team.d.ts.map +1 -0
- package/dist/src/mcp/tools/team.js +32 -0
- package/dist/src/mcp/tools/team.js.map +1 -0
- package/dist/src/obsidian/formatter.d.ts +80 -0
- package/dist/src/obsidian/formatter.d.ts.map +1 -0
- package/dist/src/obsidian/formatter.js +227 -0
- package/dist/src/obsidian/formatter.js.map +1 -0
- package/dist/src/prompts/classification.md +42 -0
- package/dist/src/prompts/extraction.md +45 -0
- package/dist/src/prompts/index.d.ts +13 -0
- package/dist/src/prompts/index.d.ts.map +1 -0
- package/dist/src/prompts/index.js +75 -0
- package/dist/src/prompts/index.js.map +1 -0
- package/dist/src/prompts/session-similarity.md +24 -0
- package/dist/src/prompts/summary.md +9 -0
- package/dist/src/prompts/title.md +8 -0
- package/dist/src/vault/frontmatter.d.ts +6 -0
- package/dist/src/vault/frontmatter.d.ts.map +1 -0
- package/dist/src/vault/frontmatter.js +10 -0
- package/dist/src/vault/frontmatter.js.map +1 -0
- package/dist/src/vault/observations.d.ts +10 -0
- package/dist/src/vault/observations.d.ts.map +1 -0
- package/dist/src/vault/observations.js +33 -0
- package/dist/src/vault/observations.js.map +1 -0
- package/dist/src/vault/reader.d.ts +10 -0
- package/dist/src/vault/reader.d.ts.map +1 -0
- package/dist/src/vault/reader.js +48 -0
- package/dist/src/vault/reader.js.map +1 -0
- package/dist/src/vault/resolve.d.ts +18 -0
- package/dist/src/vault/resolve.d.ts.map +1 -0
- package/dist/src/vault/resolve.js +51 -0
- package/dist/src/vault/resolve.js.map +1 -0
- package/dist/src/vault/session-id.d.ts +16 -0
- package/dist/src/vault/session-id.d.ts.map +1 -0
- package/dist/src/vault/session-id.js +29 -0
- package/dist/src/vault/session-id.js.map +1 -0
- package/dist/src/vault/types.d.ts +88 -0
- package/dist/src/vault/types.d.ts.map +1 -0
- package/dist/src/vault/types.js +94 -0
- package/dist/src/vault/types.js.map +1 -0
- package/dist/src/vault/writer.d.ts +66 -0
- package/dist/src/vault/writer.d.ts.map +1 -0
- package/dist/src/vault/writer.js +217 -0
- package/dist/src/vault/writer.js.map +1 -0
- package/hooks/hooks.json +60 -0
- package/package.json +52 -0
- package/skills/myco/SKILL.md +206 -0
- package/skills/myco/references/wisdom.md +61 -0
- package/skills/rules/SKILL.md +185 -0
- package/skills/rules/references/rules-bad-example.md +106 -0
- package/skills/rules/references/rules-good-example.md +90 -0
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
# Rules File — Good Example
|
|
2
|
+
|
|
3
|
+
This is an example of a well-structured, enforceable CLAUDE.md. Use it as a reference when auditing or writing rules files.
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
# Patchwork — Project Rules
|
|
8
|
+
|
|
9
|
+
Patchwork is a REST API for managing deployment patches across distributed services. TypeScript, Express, PostgreSQL, Prisma.
|
|
10
|
+
|
|
11
|
+
## Non-Goals
|
|
12
|
+
|
|
13
|
+
Patchwork is **not**:
|
|
14
|
+
|
|
15
|
+
- A general-purpose deployment orchestrator — it manages patches, not full deployments
|
|
16
|
+
- A monitoring or alerting system — it integrates with existing observability tools
|
|
17
|
+
- A CI/CD pipeline — it is triggered by pipelines, not a replacement for them
|
|
18
|
+
- A multi-tenant SaaS — it runs per-organization with no tenant isolation layer
|
|
19
|
+
|
|
20
|
+
## Architecture Invariants
|
|
21
|
+
|
|
22
|
+
### Layering
|
|
23
|
+
|
|
24
|
+
- Route handlers (`src/routes/`) parse requests and delegate to services. No business logic in route handlers.
|
|
25
|
+
- Services (`src/services/`) contain all business logic. Services MUST NOT import from `src/routes/`.
|
|
26
|
+
- Database access MUST go through Prisma client in `src/db/client.ts`. No raw SQL outside of Prisma migrations.
|
|
27
|
+
- Shared types live in `src/types/`. Do not define request/response types inline in route handlers.
|
|
28
|
+
|
|
29
|
+
### Validation
|
|
30
|
+
|
|
31
|
+
- All request input MUST be validated with Zod schemas before accessing the request body.
|
|
32
|
+
- Zod schemas live in `src/schemas/` alongside the routes that use them.
|
|
33
|
+
- Error responses MUST use the `ApiError` class from `src/errors.ts`. Do not throw raw `Error` objects from route handlers.
|
|
34
|
+
|
|
35
|
+
### Dependencies
|
|
36
|
+
|
|
37
|
+
- New dependencies MUST be approved before installation. Check if an existing dependency already covers the use case.
|
|
38
|
+
- Prefer `node:` built-in modules over third-party packages for crypto, path, fs, and URL operations.
|
|
39
|
+
|
|
40
|
+
## Golden Paths
|
|
41
|
+
|
|
42
|
+
### Add a new API endpoint
|
|
43
|
+
|
|
44
|
+
1. Define the Zod schema in `src/schemas/<resource>.ts`
|
|
45
|
+
2. Create or update the service in `src/services/<resource>.ts`
|
|
46
|
+
3. Add the route handler in `src/routes/<resource>.ts`
|
|
47
|
+
4. Register the route in `src/routes/index.ts`
|
|
48
|
+
5. Write integration tests in `tests/routes/<resource>.test.ts`
|
|
49
|
+
6. Update OpenAPI spec in `docs/openapi.yaml`
|
|
50
|
+
|
|
51
|
+
Copy `src/routes/patches.ts` as the canonical example for a new endpoint.
|
|
52
|
+
|
|
53
|
+
### Fix a bug
|
|
54
|
+
|
|
55
|
+
1. Write a failing test that reproduces the bug
|
|
56
|
+
2. Fix the bug with the minimal change
|
|
57
|
+
3. Verify the test passes
|
|
58
|
+
4. Check for similar patterns elsewhere in the codebase
|
|
59
|
+
|
|
60
|
+
### Add a database migration
|
|
61
|
+
|
|
62
|
+
1. Modify the Prisma schema in `prisma/schema.prisma`
|
|
63
|
+
2. Run `npx prisma migrate dev --name <descriptive-name>`
|
|
64
|
+
3. Update affected services and types
|
|
65
|
+
4. Test with `npm run test:integration`
|
|
66
|
+
|
|
67
|
+
## Quality Gates
|
|
68
|
+
|
|
69
|
+
Before committing, ALL of the following MUST pass:
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
npm run lint # ESLint + Prettier
|
|
73
|
+
npm run typecheck # tsc --noEmit
|
|
74
|
+
npm test # Vitest unit + integration tests
|
|
75
|
+
```
|
|
76
|
+
|
|
77
|
+
Test coverage for new code MUST be ≥ 80%. Run `npm run test:coverage` to check.
|
|
78
|
+
|
|
79
|
+
Commit messages MUST follow Conventional Commits: `feat:`, `fix:`, `chore:`, `docs:`, `test:`, `refactor:`.
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
## Why This Rules File Works
|
|
84
|
+
|
|
85
|
+
1. **Explicit non-goals** — Agents know what NOT to build. "Not a deployment orchestrator" prevents scope creep.
|
|
86
|
+
2. **Anchored architecture** — "Copy `src/routes/patches.ts`" is enforceable. "Follow good patterns" is not.
|
|
87
|
+
3. **Specific validation rule** — "Zod schemas in `src/schemas/`" leaves no room for interpretation.
|
|
88
|
+
4. **Step-by-step golden paths** — Agents follow a checklist, not vibes.
|
|
89
|
+
5. **Concrete quality gates** — Exact commands, exact coverage threshold, exact commit format.
|
|
90
|
+
6. **RFC 2119 language** — MUST vs SHOULD is unambiguous. Every rule is clear about whether exceptions exist.
|