Non-negotiable structural rules that apply to every Claude Code session in
this repo and to every commit, enforced via three defense-in-depth layers:
1. PreToolUse hook in .claude/settings.json blocks any Write/Edit that
would push a file past the 500-line hard cap. Auto-loads for any
Claude session in this repo regardless of who launched it.
2. scripts/githooks/pre-commit (installed via scripts/install-hooks.sh)
enforces the LOC cap, freezes migrations/ unless [migration-approved],
and protects guardrail files unless [guardrail-change] is present.
3. .gitea/workflows/ci.yaml gets loc-budget + guardrail-integrity jobs,
plus mypy --strict on new Python packages, tsc --noEmit on Node
services, and a syft+grype SBOM scan.
Per-language conventions are documented in AGENTS.python.md / AGENTS.go.md /
AGENTS.typescript.md at the repo root — layering (router->service->repo for
Python, hexagonal for Go, colocation for Next.js), tooling baseline, and
explicit "what you may NOT do" lists.
Adds scripts/check-loc.sh (soft 300 / hard 500, reports 205 hard and 161
soft violations in the current codebase) plus .claude/rules/loc-exceptions.txt
(initially empty — the list is designed to shrink over time).
Per-service READMEs for all 10 services + PHASE1_RUNBOOK.md for the
backend-compliance refactor. Skeleton packages (compliance/{domain,
repositories,schemas}) are the landing zone for the clean-arch rewrite that
begins in Phase 1.
CLAUDE.md is prepended with the six non-negotiable rules.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
38 lines
1.2 KiB
Markdown
38 lines
1.2 KiB
Markdown
# breakpilot-compliance-sdk
|
|
|
|
TypeScript SDK monorepo providing React, Angular, Vue, vanilla JS, and core bindings for the BreakPilot Compliance backend. Published as npm packages.
|
|
|
|
**Stack:** TypeScript, workspaces (`packages/core`, `packages/react`, `packages/angular`, `packages/vanilla`, `packages/types`).
|
|
|
|
## Layout
|
|
|
|
```
|
|
packages/
|
|
├── core/ # Framework-agnostic client + state
|
|
├── types/ # Shared type definitions
|
|
├── react/ # React Provider + hooks
|
|
├── angular/ # Angular service
|
|
└── vanilla/ # Vanilla-JS embed script
|
|
```
|
|
|
|
## Architecture
|
|
|
|
Follow `../AGENTS.typescript.md`. No framework-specific code in `core/`.
|
|
|
|
## Build + test
|
|
|
|
```bash
|
|
npm install
|
|
npm run build # per-workspace build
|
|
npm test # Vitest (Phase 4 adds coverage — currently 0 tests)
|
|
```
|
|
|
|
## Known debt (Phase 4)
|
|
|
|
- `packages/vanilla/src/embed.ts` (611), `packages/react/src/provider.tsx` (539), `packages/core/src/client.ts` (521), `packages/react/src/hooks.ts` (474) — split.
|
|
- **Zero test coverage.** Priority Phase 4 target.
|
|
|
|
## Don't touch
|
|
|
|
Public API surface of `core` without bumping package major version and updating consumers.
|