guidance to Claude Code (claude.ai/code) when working with code in this repository.
## Build & Test Commands
```sh
pnpm install # Install all workspace dependencies
pnpm build:all # Build all packages
pnpm
test suite
Conformance-style tests for the SDK's public surface. `requirements.ts` is a pure-data manifest: every behavior the SDK must satisfy, with its spec/source link. Test files
make lint # ruff (check + format-check) + import-linter
make format # auto-fix formatting
make test # pytest tests/unit
make integration # pytest tests/integration
make ci # full CI: lint + test + integration
```
## Architecture
package
```
Packages depend on `core` via `workspace:*`, so **rebuild core (`pnpm build:core`) before testing mcp/vscode against core changes** — they consume `core/dist`, not its source.
### Tests
- **core** uses Jest
level deep from SKILL.md
- Check documentation size: `du -sh skill-name/references/`
6. **Test the skill** with real use cases before submitting
### Improving Existing Skills
When updating skills:
1. **Maintain
these instructions to efficiently run quality checks, manage the server, check logs, and run tests.
## Quick Reference Commands
### Code Quality Checks
Before making any changes or submitting PRs, always
integration-tester` | Read-write | Author and run integration / end-to-end cases under `tests/` |
The main repo has no frontend stack, so no `frontend-dev` is provided; TypeScript sub-projects
database pagination for large datasets
- Before committing backend changes, run the CI-equivalent unit test command: `GOWORK=off go test -tags=unembed -race -cover -count=1 ./...`
- Keep `-count
Quick Actions
- `make setup` - Resolve dependencies and installation issues across the monorepo
- `make check-test` - Run all checks and tests
- `make check` - Run linting and type checking
- `make test
ORDER BY created_at DESC LIMIT 5;"
```
To clone nightly database to dev for testing:
```bash
make clone-nightly-db-to-dev-db # Backs up existing dev db and copies
typecheck`.
- DO provide a manual list of steps for a human to test new UI changes.
## Guidelines
- In React 19, ref is now available as a standard prop for functional
instead of Node.js.
- Use `bun ` instead of `node ` or `ts-node `
- Use `bun test` instead of `jest` or `vitest`
- Use `bun build <file.html|file.ts|file.css>` instead of `webpack` or `esbuild
description:**
```yaml
description: Use for debugging. First investigate root cause, then analyze
patterns, test hypotheses, and implement fixes with tests.
```
**GOOD - Capability + trigger:**
```yaml
description: Diagnoses bugs through root cause
formatting (Prettier) and linting (ESLint)
npm run format # Auto-format with Prettier
npm run test # Run all tests (Vitest)
```
### Running a Single Test
```bash
npx vitest run path/to/file.spec.ts # Run specific
with IdeaVim.
## Quick Reference
Essential commands:
- `./gradlew runIde` - Start dev IntelliJ with IdeaVim
- `./gradlew test -x :tests:property-tests:test -x :tests:long-running-tests:test` - Run standard tests
Avoid
A file Claude Code reads at the start of every session. It holds the commands, conventions and warnings the agent needs for this project.
Where does it go?
At the repository root. Claude Code also reads CLAUDE.md files in subdirectories when it works there.
What should it contain?
Build and test commands, the project's layout, conventions that aren't obvious from the code, and mistakes to avoid. Short files tend to work better than long ones.
CLAUDE.md or AGENTS.md?
Claude Code reads CLAUDE.md; most other agents read AGENTS.md. Many projects keep one and point the other at it.