docs: refresh project documentation
This commit is contained in:
@@ -1,59 +1,41 @@
|
||||
# LOGPile Bible
|
||||
|
||||
> **Documentation language:** English only. All maintained project documentation must be written in English.
|
||||
>
|
||||
> **Architectural decisions:** Every significant architectural decision **must** be recorded in
|
||||
> [`10-decisions.md`](10-decisions.md) before or alongside the code change.
|
||||
>
|
||||
> **Single source of truth:** Architecture and technical design documentation belongs in `docs/bible/`.
|
||||
> Keep `README.md` and `CLAUDE.md` minimal to avoid duplicate documentation.
|
||||
`bible-local/` is the project-specific source of truth for LOGPile.
|
||||
Keep top-level docs minimal and put maintained architecture/API contracts here.
|
||||
|
||||
This directory is the single source of truth for LOGPile's architecture, design, and integration contracts.
|
||||
It is structured so that both humans and AI assistants can navigate it quickly.
|
||||
## Rules
|
||||
|
||||
---
|
||||
- Documentation language: English only
|
||||
- Update relevant bible files in the same change as the code
|
||||
- Record significant architectural decisions in [`10-decisions.md`](10-decisions.md)
|
||||
- Do not duplicate shared rules from `bible/`
|
||||
|
||||
## Reading Map (Hierarchical)
|
||||
## Read order
|
||||
|
||||
### 1. Foundations (read first)
|
||||
| File | Purpose |
|
||||
|------|---------|
|
||||
| [01-overview.md](01-overview.md) | Product scope, modes, non-goals |
|
||||
| [02-architecture.md](02-architecture.md) | Runtime structure, state, main flows |
|
||||
| [04-data-models.md](04-data-models.md) | Stable data contracts and canonical inventory |
|
||||
| [03-api.md](03-api.md) | HTTP endpoints and response contracts |
|
||||
| [05-collectors.md](05-collectors.md) | Live collection behavior |
|
||||
| [06-parsers.md](06-parsers.md) | Archive parser framework and vendor coverage |
|
||||
| [07-exporters.md](07-exporters.md) | Raw export, Reanimator export, batch convert |
|
||||
| [08-build-release.md](08-build-release.md) | Build and release workflow |
|
||||
| [09-testing.md](09-testing.md) | Test expectations and regression rules |
|
||||
| [10-decisions.md](10-decisions.md) | Architectural Decision Log |
|
||||
|
||||
| File | What it covers |
|
||||
|------|----------------|
|
||||
| [01-overview.md](01-overview.md) | Product purpose, operating modes, scope |
|
||||
| [02-architecture.md](02-architecture.md) | Runtime structure, control flow, in-memory state |
|
||||
| [04-data-models.md](04-data-models.md) | Core contracts (`AnalysisResult`, canonical `hardware.devices`) |
|
||||
## Fast orientation
|
||||
|
||||
### 2. Runtime Interfaces
|
||||
|
||||
| File | What it covers |
|
||||
|------|----------------|
|
||||
| [03-api.md](03-api.md) | HTTP API contracts and endpoint behavior |
|
||||
| [05-collectors.md](05-collectors.md) | Live collection connectors (Redfish, IPMI mock) |
|
||||
| [06-parsers.md](06-parsers.md) | Archive parser framework and vendor parsers |
|
||||
| [07-exporters.md](07-exporters.md) | CSV / JSON / Reanimator exports and integration mapping |
|
||||
|
||||
### 3. Delivery & Quality
|
||||
|
||||
| File | What it covers |
|
||||
|------|----------------|
|
||||
| [08-build-release.md](08-build-release.md) | Build, packaging, release workflow |
|
||||
| [09-testing.md](09-testing.md) | Testing expectations and verification guidance |
|
||||
|
||||
### 4. Governance (always current)
|
||||
|
||||
| File | What it covers |
|
||||
|------|----------------|
|
||||
| [10-decisions.md](10-decisions.md) | Architectural Decision Log (ADL) |
|
||||
|
||||
---
|
||||
|
||||
## Quick orientation for AI assistants
|
||||
|
||||
- Read order for most changes: `01` → `02` → `04` → relevant interface doc(s) → `10`
|
||||
- Entry point: `cmd/logpile/main.go`
|
||||
- HTTP server: `internal/server/` — handlers in `handlers.go`, routes in `server.go`
|
||||
- Data contracts: `internal/models/` — never break `AnalysisResult` JSON shape
|
||||
- Frontend contract: `web/static/js/app.js` — keep API responses stable
|
||||
- Canonical inventory: `hardware.devices` in `AnalysisResult` — source of truth for UI and exports
|
||||
- Parser registry: `internal/parser/vendors/` — `init()` auto-registration pattern
|
||||
- Collector registry: `internal/collector/registry.go`
|
||||
- HTTP layer: `internal/server/`
|
||||
- Core contracts: `internal/models/models.go`
|
||||
- Live collection: `internal/collector/`
|
||||
- Archive parsing: `internal/parser/`
|
||||
- Export conversion: `internal/exporter/`
|
||||
- Frontend consumer: `web/static/js/app.js`
|
||||
|
||||
## Maintenance rule
|
||||
|
||||
If a document becomes stale, either fix it immediately or delete it.
|
||||
Stale docs are worse than missing docs.
|
||||
|
||||
Reference in New Issue
Block a user