# Repository Guidelines
## Project Structure & Module Organization
- `src/`: TypeScript source for the MCP server and integrations.
- `bin/`: CLI setup and install scripts (Node CJS).
- `docs/`: User documentation (`CONFIG.md`, `TOOLS.md`, `DATA.md`, `TROUBLESHOOTING.md`).
- `assets/`: Static assets used in docs.
- `scripts/`: Utility scripts (e.g., `analyze-projects.cjs`).
- `dist/`: Build output generated by `tsc` (do not edit by hand).
## Build, Test, and Development Commands
- `npm run build`: Compile TypeScript to `dist/`.
- `npm run dev`: Run the server from source via `tsx`.
- `npm run watch`: Run with file watching (`tsx watch`).
- `npm start`: Run the built server from `dist/`.
- `npm run setup`: Launch interactive setup (`bin/setup.cjs`).
- `npm test`: Smoke test that prints readiness (no test runner).
## Coding Style & Naming Conventions
- Language: TypeScript (ES2022 modules), strict mode enabled in `tsconfig.json`.
- Indentation: 2 spaces (match existing formatting).
- File naming: kebab-case in `src/` (e.g., `git-context-engine.ts`).
- Prefer explicit, descriptive function names; keep modules focused.
## Testing Guidelines
- No automated test suite is defined. `npm test` is a placeholder.
- If you add tests, keep them close to the feature area and document how to run them.
## Commit & Pull Request Guidelines
- Commit messages follow Conventional Commits (examples: `feat:`, `fix:`, `perf:`, `refactor:`, `chore(release):`).
- PRs should include: a short description, rationale, and any user-facing changes. Link related issues when applicable. Add screenshots only for docs/UI changes.
## Configuration & Release Notes
- User config and platform integration details live in `docs/CONFIG.md`.
- Update `docs/RELEASE_NOTES.md` when shipping user-facing changes.
- `prepublishOnly` runs `npm run build && npm test`, so keep those scripts passing before publish.