Production-grade project scaffolding for TypeScript.
ForgeTS is a powerful CLI tool and infrastructure factory designed to accelerate TypeScript development. It provides deterministic, security-first scaffolding for modern applications, handling everything from monorepo structure to strict quality gates.
- Production-Ready Scaffolding: Generate full-stack TypeScript applications with best practices baked in.
- Security First: Built-in adherence to NIST 800-53 Rev5 compliance standards (where applicable).
- Monorepo Support: Optimized for managing multiple packages and applications in a single workspace.
- Quality Gates: Pre-configured pipelines for strict type checking, linting, and testing.
- AI-Native: Designed with AI agents in mind, including comprehensive self-documentation (
AGENTS.md).
- Runtime: Node.js (>=20.0.0)
- Package Manager: pnpm
- Language: TypeScript
- Testing: Vitest
- Tooling: ESLint, Prettier, Husky
To get started with ForgeTS locally:
-
Clone the repository:
git clone <repository-url> cd ForgeTS
-
Install dependencies:
pnpm install
-
Build the project:
pnpm build
-
Run the CLI (example):
# Run the CLI from the package source pnpm --filter @forge-ts/cli run start --help
For detailed instructions, see the Installation Guide and First Run Guide.
Detailed documentation is available in the docs/ directory.
- Installation: Prerequisites and detailed setup steps.
- Setup: Environment configuration and secrets management.
- Functionality: Core features and capabilities.
- Architecture: Deep dive into the monorepo structure and components.
- Testing & Coverage: comprehensive guide to testing strategy and coverage reports.
- Security: Authentication, authorization, and security practices.
- Contributing: Guidelines for developers contributing to ForgeTS.
We use Vitest for unit and integration testing.
# Run all tests
pnpm test
# Run tests with coverage
pnpm test --coverageSee Testing Documentation for more details.
We welcome contributions! Please see our Contributing Guide for details on how to get started.