- Last Updated: 2026-04-16
- Default branch: origin/main
- Docs:
docs/ - ADRs:
docs/adrs/ - README:
README.md
- Root: repository root
- Language: TypeScript (ESNext target, strict mode)
- Package manager: Bun 1.4.2 (pinned by
"packageManager"in the rootpackage.json) - Dependency manifest:
package.json - Lock file:
bun.lock
- Test: Vitest ^5.0.1
- DB: DuckDB (
@duckdb/node-api) - Build: Bun compile + Vite 8
- Task runner:
Makefile
- Install:
bun install - Test (unit):
bun run vitest run - Test (integration):
bun run vitest run --config vitest.integration.config.ts - Test (all):
make test - Test (compiled binary smoke):
make build && bun run test:smoke - Build:
make build - Dev server:
make dev - Test file pattern:
*.test.ts,*.integration.test.ts,*.unit.test.ts
- Root:
packages/cli/ - Dependency manifest:
packages/cli/package.json - CLI framework: Yargs
- Compiled binary:
skillwalker - Depends on:
@testdouble/skillwalker-execution,@testdouble/skillwalker-data,@testdouble/sandbox-integration,@testdouble/claude-integration(workspace) - Test directory: co-located in
packages/cli/src/
- Root:
packages/execution/ - Dependency manifest:
packages/execution/package.json - Owns: test-run pipeline, test-eval pipeline, SCIL/ACIL improvement loops, error hierarchy, path config
- Depends on:
@testdouble/skillwalker-data,@testdouble/skillwalker-evals,@testdouble/claude-integration,@testdouble/sandbox-integration(workspace) - Test directory: co-located in
packages/execution/src/
- Root:
packages/data/ - Dependency manifest:
packages/data/package.json - DB: DuckDB (
@duckdb/node-api) - Test directory: co-located in
packages/data/src/
- Root:
packages/evals/ - Dependency manifest:
packages/evals/package.json - Owns: boolean evals, LLM judge scoring, rubric parsing
- Depends on:
@testdouble/skillwalker-data,@testdouble/claude-integration(workspace) - Test directory: co-located in
packages/evals/src/
- Root:
packages/claude-integration/ - Dependency manifest:
packages/claude-integration/package.json - Owns: Claude CLI execution, plugin directory resolution
- Depends on:
@testdouble/sandbox-integration,@testdouble/bun-helpers(workspace) - Test directory: co-located in
packages/claude-integration/src/
- Root:
packages/sandbox-integration/ - Dependency manifest:
packages/sandbox-integration/package.json - Owns: Test Sandbox lifecycle, command execution
- Depends on:
@testdouble/bun-helpers(workspace)
- Root:
packages/web/ - Dependency manifest:
packages/web/package.json - Web server: Hono
- Frontend: React 19 + React Router 7
- CSS: Tailwind CSS v4
- Build: Vite 8 (
@vitejs/plugin-react,@tailwindcss/vite) - Compiled binary:
skillwalker-web - Depends on:
@testdouble/skillwalker-data(workspace) - Test directory: co-located in
packages/web/src/
- Root:
packages/bun-helpers/ - Owns: cross-runtime path resolution (
currentDir,resolveRelativePath) - No workspace dependencies
- Root:
packages/test-fixtures/ - No runtime dependencies
- Exports fixture data via
load-fixtures.tsand wildcard sub-path exports
- Build output:
build/(compiledskillwalkerandskillwalker-webbinaries plus their runtime assets) - Native library:
libduckdb.dylib(platform-specific, copied intobuild/beside the binaries) - Analytics store:
analytics/(Parquet files) - Test output:
output/(timestamped JSONL run data) - Test Sandbox:
packages/sandbox-integration/(see docs/sandbox-integration.md) - Evals:
evals/(11 evals)
docs/skillwalker-architecture.md— System architecture, package boundaries, data flow, and dependency graphdocs/sandbox-integration.md— Test Sandbox API, lifecycle, and consumer patternsdocs/llm-judge.md— LLM-as-judge evaluation approachdocs/parquet-schema.md— DuckDB/Parquet table schemasdocs/rubric-evals-guide.md— rubric-based evaluation guidedocs/scil-evals-guide.md— SCIL evaluation guidedocs/skill-call-improvement-loop.md— iterative skill improvement feedback loopdocs/test-scaffolding.md— scaffold directory setup for sandbox testsdocs/evals-reference.md— tests.json field referencedocs/write-skill-eval-rubric.md— authoring skill rubric filesdocs/write-agent-eval-rubric.md— authoring agent rubric filesdocs/script-extraction.md— extracting mechanical steps from skills into shell scriptsdocs/write-scil-evals.md— authoring SCIL eval configsdocs/write-acil-evals.md— authoring ACIL eval configsdocs/agent-call-improvement-loop.md— iterative agent description improvement feedback loopdocs/execution.md— execution package: test-run pipeline, test-eval, SCIL/ACIL loops, error hierarchydocs/cli.md— CLI package: thin Yargs wrapper, command definitions, path resolutiondocs/data.md— data package: types, config parsing, JSONL I/O, DuckDB analyticsdocs/evals.md— evals package: boolean evals, LLM judge scoring, orchestratordocs/claude-integration.md— Claude CLI wrapper API, argument construction, sandbox delegationdocs/sandbox-integration-package.md— sandbox integration package: full API, error handling, testingdocs/web.md— web dashboard: Hono API, React SPA, analytics viewsdocs/bun-helpers.md— cross-runtime path resolution utilitiesdocs/test-fixtures.md— shared test fixture data, loadFixtures utilitydocs/adrs/— architecture decision recordsdocs/planning/— planning and design documents