packages/app: MCP server plus management web UI. Server code lives inpackages/app/src/server, UI inpackages/app/src/web, and tests inpackages/app/test.packages/mcp: shared MCP tools/library consumed by the server. Source is inpackages/mcp/src, with tests inpackages/mcp/testand a few*.test.tsfiles co-located insrc.packages/e2e-python: Python-based end-to-end harnesses and fixtures.- Root-level docs and support files live in
docs/,docs-internal/,scripts/,spec/, andDockerfile.
pnpm install: install workspace dependencies (Corepack-managed pnpm).pnpm build: build all workspace packages.pnpm dev: watch the MCP package and run the server with HMR.pnpm start: start the production server frompackages/app.pnpm lint,pnpm typecheck,pnpm format,pnpm test: run repo-wide checks.- Package-specific tests:
pnpm -C packages/app testorpnpm -C packages/mcp test. - Full local pipeline:
pnpm run buildrun(clean, build, lint, test, start).
- TypeScript ESM across packages.
- Prettier enforces tabs (
useTabs: true,tabWidth: 2), semicolons, single quotes, andprintWidth: 120. - ESLint rules are strict in
packages/mcpand server code (noany, consistent type imports, preferinterfacetype definitions). - Tests use
.test.tsor.spec.tsnaming.
- Unit/integration tests run with Vitest in both
packages/appandpackages/mcp. - Run all tests with
pnpm testor package-specific commands above. - No explicit coverage gate is configured; add tests for new tools, transports, or formatting logic.
- Recent history mixes merge commits and conventional-style messages like
chore: release vX; no enforced convention. - Keep commits small and descriptive; add a scope when it clarifies the area (
app,mcp). - PRs should include a concise summary, test results, linked issue (if applicable), and screenshots for UI changes under
packages/app/src/web.
- Provide auth via environment variables (
DEFAULT_HF_TOKEN,HF_TOKEN); do not commit secrets. TRANSPORTcontrols server mode (stdio,streamableHttp,streamableHttpJson). Document any new env vars inREADME.md.