@@ -5,11 +5,28 @@ All notable changes to audit-cli will be documented in this file.
55The format is based on [ Keep a Changelog] ( https://keepachangelog.com/en/1.0.0/ ) ,
66and 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
115137Initial 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