git clone <repo>
cd opencode-context-plugin
npm install
npm testThe plugin has a layered architecture:
src/utils/— Shared utilities (dateUtils, serialQueue, homeDir, debug, etc.)src/modules/— Core modules (saveContext, syncProviders, reportGenerator, etc.)src/agents/— Agent system for intelligence learning and report generationsrc/agents/intelligence/— Pipeline: sessionTransformer → deduplicator → sanitizersrc/cli/— CLI entry points (all exportmain(args)for testability)src/handlers/— OpenCode lifecycle hooks (session, message, command handlers)
- Diagnose first: Understand the problem before coding
- Small patches: One change per patch, test immediately
- Export contracts: Functions that return null should be checked by callers
- CLI pattern: Always export
main(args), useisMainguard
npm test # Full suite
npm test -- --runInBand # Sequential (avoids concurrency issues)
npm test:coverage # With coverage report- Ensure all tests pass
- Update the PR template checklist
- Include evidence of test results in the PR description
- ES modules (
import/export) - No semicolons
- No JSDoc required for internal functions
- Avoid barrel files (
index.jsre-exports) — prefer direct imports