Thanks for your interest in contributing! Here's how to get started.
- Bun >= 1.3.0 (or Node.js >= 20.9.0)
git clone https://github.com/exosphereHost/failproofai.git
cd failproofai
bun install
bun run devThe dev server starts at http://localhost:8020.
| Script | Description |
|---|---|
bun run dev |
Start the development server |
bun run lint |
Run ESLint |
bunx tsc --noEmit |
Type-check without emitting |
bun run test:run |
Run tests once (Vitest) |
bun run test |
Run tests in watch mode |
bun run build |
Production build (Next.js) |
failproofai/
├── app/ # Next.js app router (pages, layouts, server actions)
├── bin/ # CLI entry point
├── components/ # Shared React components
├── contexts/ # React context providers
├── lib/ # Core logic (logging, telemetry, paths, URL utils)
├── src/hooks/ # Hook handler, built-in policies, custom hooks loader
├── scripts/ # Dev/start/build helper scripts
├── __tests__/ # Test files
├── examples/ # Example custom hook policies
└── public/ # Static assets
| Directory | Description |
|---|---|
src/hooks/ |
Hook handler, built-in policies, custom hooks loader |
app/actions/ |
Next.js server actions |
app/components/ |
Session viewer, project list, log viewer |
| Variable | Description |
|---|---|
CLAUDE_PROJECTS_PATH |
Path to Claude projects directory |
FAILPROOFAI_LOG_LEVEL |
Log level: info, warn, error (default: warn) |
FAILPROOFAI_TELEMETRY_DISABLED |
Set to 1 to disable anonymous telemetry |
FAILPROOFAI_DISABLE_PAGES |
Comma-separated pages to disable: policies, projects |
- Keep changes focused — one concern per PR.
- Make sure all checks pass before requesting review:
bun run lint && bunx tsc --noEmit && bun run test:run && bun run build
- Include a clear description of what the PR does and why.
- Add tests for new functionality when applicable.
Found a bug or have a feature idea? Open an issue. The issue templates will guide you through providing the right details.