diff --git a/docs/ai-readiness-decisions.md b/docs/ai-readiness-decisions.md new file mode 100644 index 0000000..ec3888a --- /dev/null +++ b/docs/ai-readiness-decisions.md @@ -0,0 +1,185 @@ +# AI Readiness Decisions + +This file records one-time tooling decisions for this repository that the ThinkAI readiness +scanner cannot infer from the repository tree. + +Fill each section that applies to your repo. Leave any field as `TODO` if the decision +hasn't been made yet — the fix agent will pause and open a PR for you to complete it before +continuing. + +--- + +## What to fill in + +Complete the fields below that apply to your repository, then merge this PR and re-queue the fix. + +- [ ] **Repository context** — primary archetype and language/stack +- [ ] **Database migrations** — does this repo own migrations? If yes, which tool and where? +- [ ] **Code quality & test coverage** — Sonar project key, host URL, and coverage thresholds +- [ ] **Behavior-driven development** — adopt BDD? If yes, which runner and where are feature files? +- [ ] **Load & performance testing** — which load test tool and CI cadence? +- [ ] **Chaos & resilience testing** — which chaos approach and target environment? +- [ ] **API end-to-end tests** — which E2E tool and staging base URL env var? +- [ ] **API contracts** — OpenAPI source type, spec path, and async messaging? +- [ ] **Container publishing** — image build method, registry host, and CI auth method +- [ ] **Deployment & infrastructure** — K8s, GitOps, and Terraform directories (if applicable) +- [ ] **Repository & platform settings** — required CI checks and protected branches +- [ ] **Dependency updates** — which dependency bot (Dependabot or Renovate)? + +Sections that do not apply to your repo can be left as-is or removed. + +--- + +## Repository context + +- **Primary archetype**: `library` + +- **Default branch**: `main` + +- **Primary language / stack**: `Go` + + +--- + +## Deployment & infrastructure + + + +- **K8s manifests directory**: `none` + +- **GitOps controller**: `none` + +- **Terraform directory**: `none` + +- **Terraform remote state backend**: `none` + + +--- + +## Database migrations + +- **Owns DB migrations**: `no` + +- **Migration tool**: `N/A` + +- **Changeset location**: `N/A` + +- **Baseline strategy**: `N/A` + + +--- + +## Code quality & test coverage + +- **Sonar project key**: `TODO` + +- **Sonar host URL**: `TODO` + +- **Sonar organization** *(SonarCloud only)*: `TODO` +- **Line coverage threshold %**: `90` + +- **Branch coverage threshold %**: `TODO` + + +--- + +## Behavior-driven development + +- **Adopt BDD in this repo**: `no` + +- **BDD runner**: `N/A` + +- **Feature files location**: `N/A` + + +--- + +## Load & performance testing + +- **Load test tool**: `TODO` + +- **CI cadence**: `TODO` + +- **Traffic-model source**: `none` + +- **Baseline environment**: `TODO` + + +--- + +## Chaos & resilience testing + +- **Chaos approach**: `TODO` + +- **Target environment**: `TODO` + +- **Chaos test directory**: `TODO` + + +--- + +## API end-to-end tests + +- **E2E tool**: `N/A` + +- **Staging base URL** *(env var name)*: `N/A` + + +--- + +## API contracts + +- **OpenAPI source**: `none` + +- **OpenAPI spec path** *(if committed_spec or ci_generated)*: `N/A` + +- **Has async messaging**: `no` + +- **AsyncAPI spec path** *(if has async messaging)*: `N/A` + + +--- + +## Container publishing + +- **Image build method**: `dockerfile` + +- **Registry host**: `TODO` + +- **CI auth method**: `TODO` + +- **Image name** *(optional — inferred from repo name if blank)*: `ghcr.io/ckshitij/collection` + + +--- + +## Repository & platform settings + + + +- **Required CI status checks** *(comma-separated)*: `Code Quality Checks` + +- **Protected branches**: `main` + +- **Repo visibility target**: `TODO` + + +--- + +## Dependency updates + +- **Dependency bot choice**: `TODO` + +- **Auto-merge minor/patch**: `TODO` + +- **Target branches**: `main` + + +--- + +## Sign-off + +- **Filled by**: `TODO` +- **Date**: `TODO` +- **Notes**: `TODO`