Files

46 lines
1.9 KiB
Markdown

# OpenCode Toolkit — Agent Instructions
## Stack
- TypeScript ESM package targeting Node.js 20+; initial runtime target is
OpenCode 2.0.24 and `@opencode/plugin` 2.0.24.
- Tests use Node.js built-in `node:test`; coverage uses `c8`.
- `jsonc-parser` edits project configuration while preserving comments.
## Verified commands
- Install dependencies: `npm install`
- Compile: `npm run build`
- Type check: `npm run typecheck`
- Tests: `npm test` (builds first)
- Coverage: `npm run test:coverage` (builds first; enforces 80% lines/functions)
- Inspect package contents: `npm pack --dry-run`
## Layout
- `src/`: OpenCode V2 plugin, CLI, and project installer.
- `content/`: curated skills and subagents copied into consuming projects.
- `test/`: plugin contract and installer tests.
- `docs/`: implementation plan and provenance records.
## Conventions and gotchas
- Use the V2 `@opencode/plugin` API; do not transplant ECC's V1 hook function.
- Keep project installation conservative: never overwrite unmanaged or locally
modified files; preserve JSONC comments and unrelated configuration.
- Keep state scoped by project/session. Do not introduce a mutable module-level
store for user session data.
- Optional memory uses `ctx.storage` with project/session-derived key prefixes;
it is disabled by default and never auto-captures or injects model context.
- Memory expiry is lazy (on access), not a background cleanup task; storage is
not encrypted by this package.
- Every imported ECC file must have source, revision, attribution, and hash
recorded in `docs/PROVENANCE.md`.
- Tests do not prove provider-backed agent behavior or persistence in a live
OpenCode profile; report those separately.
- `npm test` compiles into ignored `dist/`; `npm pack --dry-run` runs the
`prepack` build hook and therefore writes generated output.
See `docs/IMPLEMENTATION-PLAN.md`, `TODO.md`, and `FIXME.md` for scope and
remaining work.