Files
bible/AGENT-BOOTSTRAP.md
T
Mikhail Chusavitin e092fea98f Add hyperlink-vs-button rule; register new contracts in router
- controls-selection: forbid hyperlinks for opening modals/elements
  unless explicitly requested; buttons required instead.
- AGENT-BOOTSTRAP: add router entries for hardware-ingest-json and
  submodule-integration contracts (lint was failing without them).
2026-08-18 17:07:04 +03:00

77 lines
2.8 KiB
Markdown

# Agent Bootstrap
Read this file first when `bible/` is attached as a submodule.
Do not read the whole repository by default. This repository is a rule library, not a codebase.
Use targeted reading.
## Reading Order
1. Read this file.
2. Read `bible-local/README.md`.
3. Read only the relevant files in `bible-local/architecture/` and `bible-local/decisions/`.
4. Read only the relevant shared contracts in `bible/rules/patterns/`.
## Editing This Repository
If you are editing this `bible/` repository itself, read the target contract and its nearby
`README.md`. Do not walk all contracts unless the task is explicitly about restructuring the library.
- Edit the relevant existing contract, or create a new `rules/patterns/<topic>/contract.md`.
- Normative rules go in `contract.md`; examples and rationale go in the pattern's `README.md`.
- Do not create rules outside `rules/patterns/`. Do not expand scope beyond engineering rules and patterns.
- Run `sh scripts/lint.sh` after changes.
## Always-On Contracts
Read these on most tasks:
- `bible/rules/patterns/kiss/contract.md`
- `bible/rules/patterns/module-structure/contract.md`
- `bible/rules/patterns/task-discipline/contract.md`
- `bible/rules/patterns/testing-policy/contract.md`
- `bible/rules/patterns/go-code-style/contract.md`
- `bible/rules/patterns/git-sync-check/contract.md`
## Task Router
Read additional contracts by task type:
- HTTP handlers, JSON APIs, status codes:
`go-api`, `go-background-tasks`, `go-logging`
- DB queries, migrations, backups, startup DB safety:
`go-database`, `backup-management`
- Hardware inventory ingest, Redfish/CMDB import payloads:
`hardware-ingest-json`
- Local-first desktop migration/recovery:
`local-first-recovery`
- Tables, bulk actions, filters, pagination:
`table-management`, `controls-selection`
- Visual style for server-rendered web apps:
`web-visual-baseline`, `table-management`, `controls-selection`
- Forms, validation, modals:
`forms-validation`, `modal-workflows`
- Import/export, CSV, upload batching:
`import-export`, `batch-file-upload`
- Build/deploy/runtime packaging:
`app-binary`, `build-version-display`, `module-versioning`
- LiveCD/OpenRC/boot-time services:
`alpine-livecd`, `unattended-boot-services`, `vendor-installer-verification`
- Release authenticity / signed binaries:
`release-signing`
- Identifiers, vendors, data normalization:
`identifier-normalization`, `no-hardcoded-vendors`
- BOM rows, component/LOT mappings:
`bom-decomposition`
- Secrets, credentials, config with sensitive values:
`secret-management`
- Project architecture documentation rules:
`go-project-bible`
- Git submodules, shared library/vendored dependency integration:
`submodule-integration`
## Default Rule
If a contract is not clearly relevant to the current task, skip it.
Prefer reading one correct contract fully over skimming twenty unrelated ones.