Skip to content

Commit 2a99493

Browse files
committed
fix: resolve all markdown lint errors and enforce strict linting
- Fix MD032 (blanks around lists) in all files - Fix MD040 (code block language) - add 'text' to plain text blocks - Fix MD060 (table separator spacing) in README.md - Fix MD036 (emphasis as heading) in CLAUDE.md - Remove continue-on-error from docs-validation.yml to enforce linting
1 parent 66ea392 commit 2a99493

5 files changed

Lines changed: 40 additions & 7 deletions

File tree

.github/workflows/docs-validation.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,4 +42,3 @@ jobs:
4242
with:
4343
globs: "**/*.md"
4444
config: ".markdownlint.json"
45-
continue-on-error: true

CLAUDE.md

Lines changed: 28 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
This is a **GitHub template repository** demonstrating AI-assisted development best practices. It's a **documentation-only** reference using the "standalone patterns approach" - concepts are standalone and independently adoptable.
2525

2626
**Key Principles**:
27+
2728
-**Standalone patterns approach** - Patterns are standalone and independently adoptable
2829
-**Documentation-focused** - Pure reference material, no working application
2930
-**Succinct content** - No AI slop, get to the point
@@ -34,17 +35,20 @@ This is a **GitHub template repository** demonstrating AI-assisted development b
3435
### What This Repository Contains
3536

3637
**Documentation** (`docs/`):
38+
3739
- Quickstart guides for AI-assisted development
3840
- Architecture pattern references
3941
- Tutorial outlines for implementing agentic workflows
4042
- API design patterns
4143

4244
**Codebase Agent Configuration** (`.claude/`):
45+
4346
- Agent definitions and capabilities
4447
- Context files for modular memory system
4548
- Example commands and skills
4649

4750
**CI/CD** (`.github/workflows/`):
51+
4852
- Documentation validation workflows
4953
- Markdown linting
5054
- Mermaid diagram validation
@@ -61,6 +65,7 @@ For a **working FastAPI application** demonstrating these patterns in practice,
6165
### Python Version Support
6266

6367
For any code examples in documentation:
68+
6469
- Python 3.11 (primary)
6570
- Python 3.12 (tested in CI matrix)
6671

@@ -125,6 +130,7 @@ markdownlint docs/**/*.md README.md CLAUDE.md --fix
125130
### Documentation Structure
126131

127132
**Core docs** (`docs/`):
133+
128134
1. `quickstart.md` - 5-minute introduction to AI-assisted development
129135
2. `architecture.md` - Common architecture patterns for agentic workflows
130136
3. `tutorial.md` - Step-by-step guide for implementing patterns
@@ -143,6 +149,7 @@ markdownlint docs/**/*.md README.md CLAUDE.md --fix
143149
**CI enforcement**: Blocks merge if diagrams invalid
144150

145151
**Example validation script**:
152+
146153
```bash
147154
#!/bin/bash
148155
# Validate all Mermaid diagrams
@@ -154,6 +161,7 @@ find docs/ -name "*.mmd" -exec mmdc -i {} -o /dev/null \;
154161
**Location**: `docs/adr/`
155162

156163
**Scaffolding only** - NO actual content:
164+
157165
- `README.md` - Explains ADR purpose and format
158166
- `template.md` - Shows format (YYYYMMDD-title.md)
159167

@@ -174,6 +182,7 @@ find docs/ -name "*.mmd" -exec mmdc -i {} -o /dev/null \;
174182
**Location**: `.claude/context/`
175183

176184
**Modular context files**:
185+
177186
- `architecture.md` - Architecture patterns and conventions
178187
- `security-standards.md` - Security best practices
179188
- `testing-patterns.md` - Testing strategies and patterns
@@ -183,6 +192,7 @@ find docs/ -name "*.mmd" -exec mmdc -i {} -o /dev/null \;
183192
### Agent Capability Patterns
184193

185194
**Common patterns to document**:
195+
186196
1. **Issue-to-PR Automation** - Converting well-defined issues into PRs
187197
2. **Code Reviews** - Providing actionable feedback
188198
3. **Proactive Maintenance** - Dependency updates, linting, docs
@@ -191,6 +201,7 @@ find docs/ -name "*.mmd" -exec mmdc -i {} -o /dev/null \;
191201
### Autonomy Levels (Example Pattern)
192202

193203
Document autonomy levels teams might implement:
204+
194205
- **Level 1 (Conservative)**: PR creation only - WAIT for human approval
195206
- **Level 2 (Moderate)**: Auto-merge for low-risk changes (docs, deps)
196207
- **Level 3 (Aggressive)**: Auto-deploy after tests pass
@@ -214,13 +225,15 @@ git checkout -b feature/descriptive-name
214225
### Commit Workflow
215226

216227
**Pre-commit checklist**:
228+
217229
1. Lint markdown: `markdownlint docs/**/*.md --fix`
218230
2. Validate diagrams: `./scripts/validate-mermaid.sh`
219231
3. Check git status: `git status`
220232
4. Review changes: `git diff`
221233

222234
**Commit message style**:
223-
```
235+
236+
```text
224237
Add documentation for X pattern
225238
226239
- Explain Y concept
@@ -232,12 +245,14 @@ Focus on "why" rather than "what".
232245
### Pull Request Workflow
233246

234247
**Before creating PR**:
248+
235249
1. `git status` - check untracked files
236250
2. `git diff` - review all changes
237251
3. `git log` - review commit history
238252
4. Ensure CI passes (markdown linting, diagram validation)
239253

240254
**PR requirements**:
255+
241256
- [ ] Markdown linting passes
242257
- [ ] Mermaid diagrams validated
243258
- [ ] No broken links
@@ -246,6 +261,7 @@ Focus on "why" rather than "what".
246261
### Git Safety
247262

248263
**NEVER**:
264+
249265
- Update git config without permission
250266
- Run destructive commands (hard reset, force push) without explicit request
251267
- Skip hooks (--no-verify)
@@ -276,13 +292,15 @@ Focus on "why" rather than "what".
276292
**File**: `.github/dependabot.yml`
277293

278294
**Configuration**:
295+
279296
- **Schedule**: Weekly
280297
- **Auto-label**: "dependencies"
281298
- **Package ecosystem**: pip (for doc tooling)
282299

283300
### Documentation Deployment (Optional)
284301

285302
Teams can extend with:
303+
286304
- GitHub Pages deployment
287305
- MkDocs builds
288306
- Static site generation
@@ -338,7 +356,7 @@ gh pr create --title "docs: Add X" --body "Documentation for X pattern"
338356

339357
Common pattern for AI-assisted applications:
340358

341-
```
359+
```text
342360
API Layer (Routes/Endpoints)
343361
↓ Handles HTTP, validation, serialization
344362
Service Layer (Business logic)
@@ -352,24 +370,28 @@ Core Layer (Config, utilities)
352370
### Component Responsibility Patterns
353371

354372
**API Layer**:
373+
355374
- Route handlers
356375
- Request/response validation
357376
- HTTP status codes
358377
- Error responses
359378
- API documentation
360379

361380
**Service Layer**:
381+
362382
- Business logic
363383
- Data manipulation
364384
- Transaction coordination
365385
- No transport concerns
366386

367387
**Model Layer**:
388+
368389
- Data validation
369390
- Type annotations
370391
- Serialization rules
371392

372393
**Core Layer**:
394+
373395
- Configuration management
374396
- Security utilities
375397
- Logging configuration
@@ -382,13 +404,15 @@ Core Layer (Config, utilities)
382404
### Input Validation Pattern
383405

384406
**Validate at boundaries only**:
407+
385408
- Validate all external input (user requests, API calls)
386409
- Trust internal code between layers
387410
- Use schema validation libraries
388411

389412
### Sanitization Pattern
390413

391414
Common sanitization functions to implement:
415+
392416
- `sanitize_string()` - Remove dangerous characters
393417
- `validate_slug()` - Ensure URL-safe identifiers
394418
- `sanitize_path()` - Prevent path traversal
@@ -405,6 +429,7 @@ Common sanitization functions to implement:
405429
## Anti-Requirements
406430

407431
**NEVER include**:
432+
408433
- ❌ Red Hat branding or references
409434
- ❌ "Amber" terminology (use "Codebase Agent" or "CBA")
410435
- ❌ Sequenced/linear adoption path (standalone patterns approach only)
@@ -418,6 +443,6 @@ Common sanitization functions to implement:
418443

419444
---
420445

421-
**End of Configuration**
446+
## End of Configuration
422447

423448
This CLAUDE.md file is the source of truth for all AI-assisted development in this repository. Follow these standards strictly.

README.md

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ This repository provides documentation and patterns for:
3636
Pick what you need. Each pattern works independently:
3737

3838
| Pattern | Description | How to Adopt |
39-
|---------|-------------|--------------|
39+
| ------- | ----------- | ------------ |
4040
| **Codebase Agent** | AI agent configuration patterns | Copy `.claude/` structure |
4141
| **Architecture** | Layered architecture patterns | Reference `docs/architecture.md` |
4242
| **Security** | Security best practices | Reference `.claude/context/security-standards.md` |
@@ -46,7 +46,7 @@ Pick what you need. Each pattern works independently:
4646

4747
## Repository Structure
4848

49-
```
49+
```text
5050
ambient-code-reference/
5151
├── .claude/ # Codebase Agent patterns
5252
│ ├── agents/ # CBA agent definition patterns
@@ -68,6 +68,7 @@ Want to see these patterns in a working FastAPI application?
6868
**[demo-fastapi](https://github.com/jeremyeder/demo-fastapi)** - Toy application demonstrating CBA patterns in practice
6969

7070
The demo repository includes:
71+
7172
- Working FastAPI service with CRUD endpoints
7273
- CBA agent configuration
7374
- Full test suite (unit, integration, E2E)

docs/adr/README.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@ This directory contains Architecture Decision Records for significant architectu
55
## What is an ADR?
66

77
An ADR documents:
8+
89
- **Context**: The situation requiring a decision
910
- **Decision**: The choice made
1011
- **Consequences**: The results, both positive and negative
@@ -13,7 +14,7 @@ An ADR documents:
1314

1415
ADRs follow this naming convention:
1516

16-
```
17+
```text
1718
YYYYMMDD-title.md
1819
```
1920

@@ -33,6 +34,7 @@ See `template.md` for the ADR format.
3334
## Status
3435

3536
ADRs can have these statuses:
37+
3638
- **Proposed**: Under discussion
3739
- **Accepted**: Decision made
3840
- **Deprecated**: No longer recommended
@@ -43,6 +45,7 @@ ADRs can have these statuses:
4345
This repository currently has no ADRs (scaffolding only).
4446

4547
When you make architectural decisions, create ADRs for:
48+
4649
- Technology choices (FastAPI, Pydantic, etc.)
4750
- Architecture patterns (layered architecture)
4851
- Security approaches (input validation strategy)

docs/adr/template.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,13 +7,15 @@
77
## Context
88

99
Describe the situation and forces at play:
10+
1011
- What problem are we trying to solve?
1112
- What constraints exist?
1213
- What alternatives were considered?
1314

1415
## Decision
1516

1617
State the decision clearly:
18+
1719
- What did we decide?
1820
- Why this approach?
1921
- What are the key factors?
@@ -23,16 +25,19 @@ State the decision clearly:
2325
Document the results:
2426

2527
### Positive
28+
2629
- What benefits does this bring?
2730
- What problems does it solve?
2831
- What opportunities does it create?
2932

3033
### Negative
34+
3135
- What drawbacks exist?
3236
- What complexities does it introduce?
3337
- What risks remain?
3438

3539
### Neutral
40+
3641
- What else changes as a result?
3742

3843
## References

0 commit comments

Comments
 (0)