ADRs
ADR-0002: Repository foundation bootstrap
Architecture decision record 0002.
ADR-0002: Repository foundation bootstrap
- Status: Accepted
- Date: 2026-05-30
- Authors: IBEX Harness team
Context
Documentation and AI guardrails exist, but the repo lacked hygiene files, CI enforcement, ADR directory, and stable top-level paths before implementation.
Decision
- Hygiene: Add
.gitignore,.editorconfig,.gitattributes; license set to MIT (LICENSE). - CI (PR-only, fast): Structural markdown lint, gitleaks, forbidden-file checks, repo layout guard. No language build/test until services exist.
- Markdown policy:
markdownlint-cli2tuned via.markdownlint-cli2.jsonc— style rules (MD013, MD022, MD024, MD029, MD032, MD056, MD060, etc.) disabled for existing reference docs; structural rules (fences MD031/MD040, link integrity) remain enabled. Tighten rules incrementally as docs are normalized. - Dependabot: Enable
github-actionsweekly updates; enable rootgomodwhengo.modexists at repo root (ADR-0008). Enablepip/npmwhen memory/dashboard manifests exist (see.github/dependabot.ymlcomments). - Branch: Rename default branch
master→mainto match DEVELOPMENT_GUIDE.md and DEPLOYMENT.md. - Scaffold dirs: Create
services/,packages/,infra/with README stubs only (no service code in this ADR). - Templates: PR template aligned with DEVELOPMENT_GUIDE §7.2; bug/feature/security issue templates.
Consequences
Positive
- Implementation PRs cannot accidentally commit
.envor break doc structure. - Stable paths for AI agents and humans.
Negative
mainrename requires one-time remote/default-branch update on GitHub.- License chosen as MIT (2026); update copyright holder name if the legal entity changes.
Alternatives considered
| Option | Why not |
|---|---|
| Full CI with Go/Python/TS now | No code; would be red or meaningless |
| Renovate instead of Dependabot | Dependabot is native to GitHub; sufficient for now |
Keep master | Docs already standardize on main |
License
MIT — see LICENSE at repository root (added after initial bootstrap).
References
Was this page helpful?
Edit on GitHub
Last updated on