The central command center for Policy as Code (PaC) and Infrastructure as Code (IaC)
DocOps is a comprehensive system that transforms documentation from static files into an active headquarters managing living projects. It enforces policies, generates configurations, detects drift, and maintains consistency across your entire engineering organization.
Transform from "documentation with embedded patterns" to an "active headquarters that manages living projects."
See INSTALL.md for complete installation instructions.
Required:
- Bun 1.2+
- Git
- Node.js 18+
Check your system:
bash scripts/check-tools.sh
# Clone the headquarters
git clone https://github.com/verlyn13/doc-system.git
cd doc-system
# Install and build the CLI
cd cli
bun install
bun run build
cd ..
# Verify installation
node cli/dist/index.js --help
# Initialize a new project
node cli/dist/index.js init
doc-system/
βββ cli/ # DocOps CLI implementation
βββ templates/ # Reusable project templates
β βββ base/ # Core templates for all projects
β βββ stacks/ # Stack-specific templates
β βββ components/ # Modular components
βββ schemas/ # JSON schemas for validation
βββ examples/ # Example projects
βββ .github/workflows/ # CI/CD workflows
βββ legacy/ # Original documentation (archived)
βββ project-brief.md # Project overview for Windsurf
docops init
- Initialize new projects with interactive setupdocops generate
- Generate configurations from project profiledocops validate
- Validate setup and check for drift
- Base Templates: Core configurations used by all projects
- Stack Templates: Pre-configured for TypeScript/Next.js, Python/FastAPI
- Template Inheritance: Stack templates extend base templates
The single source of truth driving all automation:
{
"version": "2.1.0",
"name": "my-project",
"stack": {
"runtime": { "engine": "bun", "language": "typescript" },
"database": { "type": "postgresql", "orm": "prisma" }
}
}
- Bun runtime with TypeScript
- Next.js 15 + React 19
- Tailwind CSS 4
- Prisma ORM
- Vercel hosting
- Python 3.13+ with modern tooling
- FastAPI + SQLModel
- uv package manager
- ruff + mypy linting
- Docker deployment ready
- Initialize:
docops init
creates project from template - Configure: Update
docs/project.profile.json
with your specifics - Generate:
docops generate
creates all configurations automatically - Validate:
docops validate
checks for issues and drift
Everything generates from docs/project.profile.json
:
- CI/CD workflows (.github/workflows/docops.yml)
- Environment templates (.env.example)
- Documentation structure (docs/README.md)
- Tool configurations (bunfig.toml, prisma/schema.prisma)
- Policy enforcement (docops.policy.json)
- JSON schema validation for all configurations
- Environment file security scanning
- Documentation freshness requirements
- Generated file validation
- TypeScript: Bun runtime, Biome linting
- Python: uv, ruff, mypy, Python 3.13+
- Infrastructure: Cloudflare, Vercel, Terraform-ready
- CI/CD: GitHub Actions with automated validation
cd cli
# Install dependencies
bun install
# Run in development mode
bun run dev -- init --help
# Run tests
bun test
# Lint and format
bun run lint
bun run format
# Build for distribution
bun run build
# Test initialization in a temp directory
cd /tmp
node /path/to/doc-system/cli/dist/index.js init
# Test generation
node /path/to/doc-system/cli/dist/index.js generate
# Test validation
node /path/to/doc-system/cli/dist/index.js validate
- Project Brief - Complete overview for Windsurf
- CLI Documentation - CLI usage and development
- Templates Guide - Template system overview
- Example Projects - Reference implementations
- Template extraction and organization
- Functional CLI with core commands (init, generate, validate)
- JSON schemas for validation
- Basic CI/CD workflow
- Unit tests for core functionality
- Lint/format configuration
- Additional stack templates
- Enhanced drift detection
- Auto-fix capabilities
- Project registry and telemetry
- Template marketplace
- Multi-org support
- Advanced policy engines
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Make your changes
- Add tests for new functionality
- Run
bun run lint
andbun test
in the cli/ directory - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
MIT - See LICENSE file for details.
Built with modern tools and best practices from the open-source community.
DocOps Headquarters - Where documentation becomes operational.