Skip to content

Commit e8debb0

Browse files
committed
docs: add mise tasks for documentation generation and validation
- Add docs:generate task to generate API documentation with Doxygen - Add docs:validate task to run coverage and tag validation - Document Doxygen installation via brew/apt in README - Update CLAUDE.md with new mise commands - Provide both mise and direct command usage examples Note: Doxygen is not available in mise registry, so must be installed separately via system package manager (brew, apt, etc.)
1 parent 5e37aca commit e8debb0

File tree

3 files changed

+43
-8
lines changed

3 files changed

+43
-8
lines changed

CLAUDE.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ This project uses `mise` for task management. Common commands:
1212
- `mise run postgres:down` - Stop PostgreSQL containers
1313
- `mise run reset` - Reset database state
1414
- `mise run clean` (alias: `mise r k`) - Clean release files
15+
- `mise run docs:generate` - Generate API documentation (requires doxygen)
16+
- `mise run docs:validate` - Validate documentation coverage and tags
1517

1618
### Testing
1719
- Run all tests: `mise run test`

README.md

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -211,9 +211,25 @@ In order to enable searchable encryption, you will need to configure your Cipher
211211

212212
All EQL functions and types are fully documented with Doxygen-style comments in the source code.
213213

214-
**Generate API documentation** (requires [Doxygen](https://www.doxygen.nl/)):
214+
**Install Doxygen** (required for documentation generation):
215215

216216
```bash
217+
# macOS
218+
brew install doxygen
219+
220+
# Ubuntu/Debian
221+
apt-get install doxygen
222+
223+
# Other platforms: https://www.doxygen.nl/download.html
224+
```
225+
226+
**Generate API documentation:**
227+
228+
```bash
229+
# Using mise
230+
mise run docs:generate
231+
232+
# Or directly with doxygen
217233
doxygen Doxyfile
218234
```
219235

@@ -236,14 +252,13 @@ For contribution guidelines, see [CLAUDE.md](./CLAUDE.md).
236252
Verify documentation quality using these scripts:
237253

238254
```bash
239-
# Check documentation coverage (should be 100%)
240-
./tasks/check-doc-coverage.sh
241-
242-
# Validate required Doxygen tags
243-
./tasks/validate-required-tags.sh
255+
# Using mise (validates coverage and tags)
256+
mise run docs:validate
244257

245-
# Validate SQL syntax
246-
./tasks/validate-documented-sql.sh
258+
# Or run individual checks
259+
./tasks/check-doc-coverage.sh # Check 100% coverage
260+
./tasks/validate-required-tags.sh # Validate @brief, @param, @return
261+
./tasks/validate-documented-sql.sh # Validate SQL syntax
247262
```
248263

249264
Documentation validation runs automatically in CI for all pull requests.

mise.toml

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,21 @@ run = """
2323
rm -f release/cipherstash-encrypt-uninstall.sql
2424
rm -f release/cipherstash-encrypt.sql
2525
"""
26+
27+
[tasks."docs:generate"]
28+
description = "Generate API documentation with Doxygen"
29+
run = """
30+
echo "Generating API documentation..."
31+
doxygen Doxyfile
32+
echo "Documentation generated at docs/api/html/index.html"
33+
"""
34+
35+
[tasks."docs:validate"]
36+
description = "Validate SQL documentation"
37+
run = """
38+
echo "Checking documentation coverage..."
39+
./tasks/check-doc-coverage.sh
40+
echo ""
41+
echo "Validating required tags..."
42+
./tasks/validate-required-tags.sh
43+
"""

0 commit comments

Comments
 (0)