Skip to content

Commit 80cef9d

Browse files
authored
Merge pull request #6 from grove-platform/pages-with-examples
Update `testable-code` report to scan docs monorepo content directories
2 parents 56a9c26 + 3f24454 commit 80cef9d

File tree

13 files changed

+1401
-46
lines changed

13 files changed

+1401
-46
lines changed

.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,4 @@ bin/
44
.idea/
55
.vscode/
66
coverage.out
7+
.audit-cli.yaml

CHANGELOG.md

Lines changed: 30 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,28 @@ All notable changes to audit-cli will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [Unreleased]
9+
10+
### Added
11+
12+
#### Resolve Commands
13+
14+
- `resolve url` - Resolve documentation source files to production URLs
15+
- Takes a source file path (.txt) from the docs monorepo
16+
- Returns the corresponding production URL on mongodb.com/docs
17+
- Uses table-of-contents data as the source of truth for URL mappings
18+
- Supports all projects in the monorepo (Atlas, Drivers, Manual, Tools, etc.)
19+
- Handles versioned and non-versioned projects correctly
20+
- Supports custom base URL for staging environments
21+
- Flags:
22+
- `--base-url` - Override the default base URL (default: `https://www.mongodb.com/docs`)
23+
824
## [0.3.0] - 2025-01-07
925

1026
### Added
1127

1228
#### Report Commands
29+
1330
- `report testable-code` - Analyze testable code examples on pages from analytics data
1431
- Takes a CSV file with page rankings and URLs from analytics
1532
- Resolves URLs to source files using the Snooty Data API
@@ -23,6 +40,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
2340
- `--details` - Show detailed per-product breakdown
2441

2542
#### Internal Packages
43+
2644
- `internal/language` - Programming language utilities (refactored from code-examples)
2745
- Language normalization (e.g., "ts" → "typescript", "py" → "python")
2846
- File extension mapping for all supported languages
@@ -64,6 +82,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
6482
### Added
6583

6684
#### Analyze Commands
85+
6786
- `analyze composables` - Analyze composable definitions in snooty.toml files
6887
- Inventory all composables across projects and versions
6988
- Identify identical composables (same ID, title, and options) across different projects/versions
@@ -79,6 +98,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7998
- `--with-rstspec` - Show canonical composable definitions from rstspec.toml
8099

81100
#### Configuration System
101+
82102
- Monorepo path configuration via three methods (priority order):
83103
1. Command-line argument (highest priority)
84104
2. Environment variable `AUDIT_CLI_MONOREPO_PATH`
@@ -90,6 +110,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
90110
- Applies to commands: `analyze composables`, `count tested-examples`, `count pages`
91111

92112
#### File Path Resolution
113+
93114
- Flexible path resolution for all file-based commands
94115
- Supports three path types (priority order):
95116
1. Absolute paths - Used as-is
@@ -99,6 +120,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
99120
- Eliminates need to type full paths when working with monorepo files
100121

101122
#### Internal Packages
123+
102124
- `internal/config` - Configuration management
103125
- Config file loading from `.audit-cli.yaml`
104126
- Environment variable support
@@ -115,6 +137,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
115137
Initial release after splitting from the MongoDB code-example-tooling monorepo.
116138

117139
#### Extract Commands
140+
118141
- `extract code-examples` - Extract code examples from RST files
119142
- Supports `literalinclude`, `code-block`, and `io-code-block` directives
120143
- Handles partial file extraction with `:start-after:`, `:end-before:`, `:lines:` options
@@ -129,6 +152,7 @@ Initial release after splitting from the MongoDB code-example-tooling monorepo.
129152
- Optional include directive expansion
130153

131154
#### Search Commands
155+
132156
- `search find-string` - Search for substrings in documentation files
133157
- Case-sensitive and case-insensitive search modes
134158
- Exact word matching or partial matching
@@ -137,6 +161,7 @@ Initial release after splitting from the MongoDB code-example-tooling monorepo.
137161
- Language breakdown in verbose mode
138162

139163
#### Analyze Commands
164+
140165
- `analyze includes` - Analyze include directive relationships
141166
- Tree view of include dependencies
142167
- Flat list of all included files
@@ -155,13 +180,15 @@ Initial release after splitting from the MongoDB code-example-tooling monorepo.
155180
- Variation listing (composable tutorial selections and tabids)
156181

157182
#### Compare Commands
183+
158184
- `compare file-contents` - Compare file contents across versions
159185
- Direct comparison between two files
160186
- Version comparison mode with auto-discovery
161187
- Unified diff output
162188
- Progressive detail levels (summary, paths, diffs)
163189

164190
#### Count Commands
191+
165192
- `count tested-examples` - Count tested code examples in the monorepo
166193
- Total count across all products
167194
- Per-product breakdown
@@ -176,6 +203,7 @@ Initial release after splitting from the MongoDB code-example-tooling monorepo.
176203
- Current version only mode
177204

178205
#### Internal Packages
206+
179207
- `internal/rst` - RST parsing utilities
180208
- Directive parsing (literalinclude, code-block, io-code-block, procedure, step, tabs, composable-tutorial)
181209
- Include directive following with circular detection
@@ -187,13 +215,14 @@ Initial release after splitting from the MongoDB code-example-tooling monorepo.
187215
- Version path resolution
188216

189217
#### Documentation
218+
190219
- Comprehensive README.md with usage examples
191220
- PROCEDURE_PARSING.md with detailed procedure parsing business logic
192221
- AGENTS.md for LLM development assistance
193222

194223
### Technical Details
224+
195225
- Built with Go 1.24
196226
- Uses spf13/cobra v1.10.1 for CLI framework
197227
- Uses aymanbagabas/go-udiff v0.3.1 for diff generation
198228
- Comprehensive test coverage with deterministic testing for procedure parsing
199-

0 commit comments

Comments
 (0)