Skip to content

Commit 55bb27d

Browse files
rubenaylaclaude
andcommitted
Move CLAUDE.md content to AGENTS.md
CLAUDE.md now just points to AGENTS.md, consistent with other repos. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent d8619f4 commit 55bb27d

2 files changed

Lines changed: 103 additions & 151 deletions

File tree

AGENTS.md

Lines changed: 102 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -5,29 +5,112 @@ Before making any changes, consult:
55
1. **`.agents/error_log.md`** — Past errors and added preventions
66
2. **`.agents/definition_of_done.md`** — Pre-commit checklist
77

8+
## Project Overview
9+
10+
Documentation repository for the UM Driverless autonomous kart project. Built with MkDocs Material theme, deployed to GitHub Pages.
11+
12+
**This repository is the single source of truth for kart documentation.** Previously managed in Notion, all documentation has been migrated to this MkDocs-based system.
13+
14+
**Live site:** https://um-driverless.github.io/kart_docs/
15+
16+
## Tech Stack
17+
18+
- **Documentation:** MkDocs with Material theme
19+
- **Package Manager:** uv (migrated from Poetry)
20+
- **Python:** >= 3.12
21+
- **BOM Management:** YAML-based system in `docs/assembly/*/bom.yaml`
22+
- **Deployment:** GitHub Actions → GitHub Pages
23+
24+
## Project Structure
25+
26+
```
27+
kart_docs/
28+
├── docs/
29+
│ ├── bom/
30+
│ │ ├── index.md # BOM overview with dynamic parts table
31+
│ │ └── README.md # BOM management guide
32+
│ ├── assembly/
33+
│ │ ├── */bom.yaml # Component data per assembly
34+
│ │ ├── powertrain/
35+
│ │ ├── steering/
36+
│ │ ├── electronics/
37+
│ │ └── sensors/
38+
│ ├── tools/
39+
│ │ ├── index.md # Tools catalog documentation
40+
│ │ └── tools.yaml # Tool inventory
41+
│ └── assets/
42+
│ └── datasheets/ # PDF datasheets
43+
├── scripts/
44+
│ └── aggregate_bom.py # BOM report generation
45+
├── generate_bom_hook.py # MkDocs hook for dynamic parts table
46+
├── generate_bom_reports.sh # Helper script for reports
47+
└── pyproject.toml # uv-compatible project config
48+
```
49+
50+
## Key Commands
51+
```bash
52+
uv sync # Install dependencies
53+
uv run mkdocs serve # Local dev server
54+
uv run mkdocs build --strict # Build with strict warnings (CI uses this)
55+
./generate_bom_reports.sh # Generate BOM reports
56+
```
57+
58+
## Key Features
59+
60+
### BOM Management System
61+
62+
**YAML-based part tracking:**
63+
- Each assembly has `bom.yaml` with component specifications
64+
- Fields: id, part_number, description, quantity, unit_cost, status, criticality, suppliers, specifications
65+
- Hierarchical structure matches physical assembly
66+
67+
**Dynamic features:**
68+
- `generate_bom_hook.py` auto-generates searchable HTML table on build
69+
- Real-time search, filtering by assembly/status/category
70+
- Sortable columns, color-coded badges
71+
- Cost summaries injected into BOM index
72+
73+
**Report generation:**
74+
- `scripts/aggregate_bom.py` creates JSON + CSV reports
75+
- Outputs: cost summaries, supplier lists, status reports
76+
77+
### Tools Catalog
78+
79+
- `docs/tools/tools.yaml` - Workshop tool inventory
80+
- Categories: hand tools, electronics, power tools, measuring equipment
81+
- Tracks: location, status, calibration schedules, safety requirements
82+
83+
## Important Patterns
84+
85+
### Adding Components to BOM
86+
87+
1. Navigate to `docs/assembly/{assembly}/bom.yaml`
88+
2. Add component in YAML format
89+
3. Component auto-appears in searchable table on next build
90+
91+
### Documentation Philosophy
92+
93+
- **Consolidate, don't duplicate** - Keep docs in README.md files, avoid creating extra "guide" files
94+
- **No authors in pyproject.toml** - Git history tracks contributors
95+
- **Folder README convention** - Use `README.md` for folder documentation (e.g., `docs/bom/README.md`)
96+
97+
## Files to Ignore/Not Create
98+
99+
- Don't create FEATURES_ADDED.md, MIGRATION.md, or similar - keep current state in README
100+
- Don't maintain author lists - Git already tracks this
101+
102+
## Build Pipeline
103+
104+
GitHub Actions workflow (`.github/workflows/deploy-docs.yml`):
105+
1. Uses `astral-sh/setup-uv@v4`
106+
2. Runs `uv sync` to install dependencies
107+
3. Builds with `uv run mkdocs build --strict --verbose`
108+
4. Deploys to GitHub Pages
109+
8110
## Commit Safety Protocol (Mandatory)
9111
Before any `git commit`, you MUST:
10112
1. Run `git status` to see which files will be included
11113
2. Run `git diff --cached` to verify changes line by line
12114
3. If build fails: document the error in `.agents/error_log.md`, fix it, and add prevention if recurring
13115

14116
**Never commit blindly.**
15-
16-
## Key Commands
17-
```bash
18-
uv run mkdocs serve # Local dev server
19-
uv run mkdocs build --strict # Build with strict warnings (CI uses this)
20-
```
21-
22-
## Key Paths
23-
- Live site: https://um-driverless.github.io/kart_docs/
24-
- CI workflow: `.github/workflows/deploy-docs.yml`
25-
- MkDocs config: `mkdocs.yml`
26-
- Documentation root: `docs/`
27-
28-
## Workflow
29-
1. **Before starting:** Read the key files listed above
30-
2. **During work:** Follow project patterns in `CLAUDE.md`
31-
3. **Before committing:** Run through `.agents/definition_of_done.md` checklist
32-
4. **Commit:** Follow the safety protocol (git status + git diff --cached)
33-
5. **If build fails:** Fix, document in `.agents/error_log.md` if recurring

CLAUDE.md

Lines changed: 1 addition & 132 deletions
Original file line numberDiff line numberDiff line change
@@ -1,132 +1 @@
1-
# Claude Memory - Kart Documentation
2-
3-
> Before making changes, read `AGENTS.md` for workflow rules and `.agents/error_log.md` for past mistakes.
4-
5-
## Project Overview
6-
7-
This is the documentation repository for the UM Driverless autonomous kart project. Built with MkDocs Material theme, deployed to GitHub Pages.
8-
9-
**This repository is the single source of truth for kart documentation.** Previously managed in Notion, all documentation has been migrated to this MkDocs-based system.
10-
11-
**Live site:** https://um-driverless.github.io/kart_docs/
12-
13-
## Tech Stack
14-
15-
- **Documentation:** MkDocs with Material theme
16-
- **Package Manager:** uv (migrated from Poetry)
17-
- **Python:** >= 3.12
18-
- **BOM Management:** YAML-based system in `docs/assembly/*/bom.yaml`
19-
- **Deployment:** GitHub Actions → GitHub Pages
20-
21-
## Project Structure
22-
23-
```
24-
kart_docs/
25-
├── docs/
26-
│ ├── bom/
27-
│ │ ├── index.md # BOM overview with dynamic parts table
28-
│ │ └── README.md # BOM management guide
29-
│ ├── assembly/
30-
│ │ ├── */bom.yaml # Component data per assembly
31-
│ │ ├── powertrain/
32-
│ │ ├── steering/
33-
│ │ ├── electronics/
34-
│ │ └── sensors/
35-
│ ├── tools/
36-
│ │ ├── index.md # Tools catalog documentation
37-
│ │ └── tools.yaml # Tool inventory
38-
│ └── assets/
39-
│ └── datasheets/ # PDF datasheets
40-
├── scripts/
41-
│ └── aggregate_bom.py # BOM report generation
42-
├── generate_bom_hook.py # MkDocs hook for dynamic parts table
43-
├── generate_bom_reports.sh # Helper script for reports
44-
└── pyproject.toml # uv-compatible project config
45-
```
46-
47-
## Key Features
48-
49-
### BOM Management System
50-
51-
**YAML-based part tracking:**
52-
- Each assembly has `bom.yaml` with component specifications
53-
- Fields: id, part_number, description, quantity, unit_cost, status, criticality, suppliers, specifications
54-
- Hierarchical structure matches physical assembly
55-
56-
**Dynamic features:**
57-
- `generate_bom_hook.py` auto-generates searchable HTML table on build
58-
- Real-time search, filtering by assembly/status/category
59-
- Sortable columns, color-coded badges
60-
- Cost summaries injected into BOM index
61-
62-
**Report generation:**
63-
- `scripts/aggregate_bom.py` creates JSON + CSV reports
64-
- Outputs: cost summaries, supplier lists, status reports
65-
- Run via `./generate_bom_reports.sh` or `uv run python scripts/aggregate_bom.py`
66-
67-
### Tools Catalog
68-
69-
- `docs/tools/tools.yaml` - Workshop tool inventory
70-
- Categories: hand tools, electronics, power tools, measuring equipment
71-
- Tracks: location, status, calibration schedules, safety requirements
72-
73-
## Common Commands
74-
75-
```bash
76-
# Setup
77-
uv sync
78-
uv run playwright install --force chrome
79-
80-
# Development
81-
uv run mkdocs serve
82-
83-
# Build
84-
uv run mkdocs build --strict
85-
86-
# Generate BOM reports
87-
./generate_bom_reports.sh
88-
```
89-
90-
## Important Patterns
91-
92-
### Adding Components to BOM
93-
94-
1. Navigate to `docs/assembly/{assembly}/bom.yaml`
95-
2. Add component in YAML format
96-
3. Component auto-appears in searchable table on next build
97-
98-
### Documentation Philosophy
99-
100-
- **Consolidate, don't duplicate** - Keep docs in README.md files, avoid creating extra "guide" files
101-
- **No authors in pyproject.toml** - Git history tracks contributors
102-
- **Folder README convention** - Use `README.md` for folder documentation (e.g., `docs/bom/README.md`)
103-
104-
## Files to Ignore/Not Create
105-
106-
- Don't create FEATURES_ADDED.md, MIGRATION.md, or similar - keep current state in README
107-
- Don't maintain author lists - Git already tracks this
108-
109-
## ChatGPT Context
110-
111-
User asked ChatGPT about parts documentation. ChatGPT suggested creating a parts catalog system, but the project **already had an excellent YAML-based BOM system**. We enhanced it with:
112-
- Dynamic searchable parts table (big UX improvement)
113-
- Automated reporting tools
114-
- Tools catalog (ChatGPT mentioned but didn't implement)
115-
116-
The existing system was already better than ChatGPT's suggestion.
117-
118-
## Build Pipeline
119-
120-
GitHub Actions workflow (`.github/workflows/deploy-docs.yml`):
121-
1. Uses `astral-sh/setup-uv@v4`
122-
2. Runs `uv sync` to install dependencies
123-
3. Builds with `uv run mkdocs build --strict --verbose`
124-
4. Deploys to GitHub Pages
125-
126-
## Recent Changes (2025-10-01)
127-
128-
- Migrated from Poetry to uv
129-
- Renamed `docs/bom/BOM_MANAGEMENT.md``docs/bom/README.md`
130-
- Added dynamic parts table via MkDocs hook
131-
- Created tools catalog system
132-
- Updated all documentation to use uv commands
1+
Read AGENTS.md and .agents/ for project knowledge and conventions.

0 commit comments

Comments
 (0)