autonomous-dev
Harness for autonomous software development. Enforces lifecycle through alignment gates (PROJECT.md), adversarial generator/evaluator agents, CI/CD pipeline automation, and strict Git workflows (Conventional Commits, Branching).
Autonomous Development Workflow
This skill provides a deterministic software engineering harness, designed to wrap AI code generation with strict alignment gates, adversarial evaluations, CI/CD pipeline principles, and collaborative Git practices. Load this skill when designing or orchestrating multi-step architectural features, automating deployment workflows, or writing code inside a structured environment.
1. Project Alignment Gate (PROJECT.md)
Before beginning implementation, you MUST cross-reference the proposed feature against PROJECT.md at the repository root.
- In-Scope: Proceed with confidence.
- Out-of-Scope: Hard block. Halt work immediately and inform the user.
- Constraints: Abide strictly by the constraints (language, architecture, dependencies) defined in the project file.
2. Generator / Evaluator Pipeline
Features cannot simply be written and committed. They must navigate a rigid pipeline based on the adversarial evaluation pattern:
- Research: Analyze local scope and external dependencies via parallel search strategies.
- Planning: Formulate architecture and acceptance criteria (generator).
- Acceptance Tests FIRST: Tests must be written before main implementation (TDD).
- Implementation: Produce code.
- HARD GATE: 0 test failures. You cannot proceed if tests fail. No stubs/placeholders allowed.
- Adversarial Review: Self-evaluate the code as a skeptical reviewer (evaluator). Actively search for edge cases, security vulnerabilities, efficiency loss, and anti-patterns.
- Documentation: Ensure docs stay tightly in sync with the codebase after the feature clears CI.
3. Git Workflow & Versioning
Enforce strict version control standards on all changes:
- Branching: Use feature branches (
feature/my-feature), bugfix branches (fix/bug-name), or standard trunk-based branching flows depending on the repository context. - Atomic Commits: Group distinct changes into smaller, logical, single-purpose commits. Do not lump refactoring with new logic.
- Conventional Commits: You MUST format all commits according to the Conventional Commits specification:
feat: <description>for new features (MINOR bump)fix: <description>for bug fixes (PATCH bump)docs:,style:,refactor:,perf:,test:,build:,ci:,chore:for specific maintenance scopes.- Suffix
!for breaking changes (e.g.,feat!: remove API v1) (MAJOR bump).
4. Continuous Integration/Deployment (CI/CD)
When designing automation and pipelines:
- GitHub Actions First: Prioritize GitHub Actions for CI/CD pipeline orchestration, favoring Reusable Workflows and matrix builds.
- Validation Blocks: Every PR or merge MUST require passing lint, test, and type-check gates.
- Automation Constraints: Automate Semantic Versioning (using conventional commits) to power automated release notes and changelog generation.
- Security Scans: Mandate security scanning (e.g. CodeQL, Trivy) on standard PR flows.
5. Context Management & Drift Prevention
As the context window fills up, context anxiety can degrade performance.
- Recognize when the session has spanned too many features or files (e.g., beyond 4-5 features).
- Use session summaries or persistent memories to bookmark state, clear the context, and resume with a fresh perspective.