One command. Production-ready infrastructure.
npx forj-cli init my-startup registers a domain, creates a GitHub org + repo, and sets up Cloudflare as your DNS provider — in under 2 minutes.
- Website: forj.sh
- GitHub: forj-sh/forj
- npm: forj-cli
# Install globally
npm install -g forj-cli
# Or run directly
npx forj-cli init my-startupnpm install
npm run db:migrate -w packages/api
npm run build
# Start services (each in a separate terminal)
npm run dev -w packages/api # API server on :3000
node packages/workers/dist/start-workers.js # BullMQ workers
npm run dev -w packages/cli # CLI watch mode
# Local testing with --skip-payment (bypasses Stripe)
FORJ_API_URL=http://localhost:3000 node packages/cli/dist/cli.js init --skip-payment
# Run tests
npm test -w packages/apiforj/
├── packages/
│ ├── api/ - Fastify API server (auth, routes, Stripe, JWT)
│ ├── cli/ - CLI client (commander, inquirer, SSE streaming)
│ ├── workers/ - BullMQ workers (domain, GitHub, Cloudflare, DNS)
│ ├── shared/ - Shared types & API clients
│ └── landing/ - Landing page (Vite + TypeScript, forj.sh)
├── docs/ - Documentation
├── scripts/ - Deployment & setup scripts
└── CLAUDE.md - AI assistant context
| Package | Technologies |
|---|---|
| API | Fastify, TypeScript, Postgres (Neon), BullMQ, Redis, Stripe |
| CLI | commander.js, inquirer, chalk, ora, eventsource |
| Workers | BullMQ, Namecheap API, GitHub API, Cloudflare API |
| Shared | TypeScript, API clients (Namecheap, Cloudflare, GitHub) |
| Landing | Vite, TypeScript, Cloudflare Turnstile |
- Product Specification
- Build Plan
- Testing Guide
- Deployment Guide
- MCP Integration
- Security Review
- Troubleshooting
- Domain: forj.sh
- GitHub org: forj-sh
- npm package: forj-cli
- CLI:
npx forj-cli init <project>orforj init <project>
MIT
Built for developers and the agents they work with.