diff --git a/PLAN.md b/PLAN.md index e69de29..54cd142 100644 --- a/PLAN.md +++ b/PLAN.md @@ -0,0 +1,40 @@ +# Rustdoc Plan + +## Files Missing or Incomplete Rustdoc + +This plan tracks public modules, structs, functions, and traits that lack comprehensive `///` documentation comments. Rustdoc should cover: + +- Module-level docs explaining purpose and usage. +- Public struct/enum/trait docs with fields/variants. +- Public function/method docs with params, returns, and examples. +- Error handling and edge cases where relevant. + +### High Priority (Core Public API) +- `src/services/item_service.rs`: Missing docs for `ItemService` methods like `get_item`, `save_item`. Add examples for usage. +- `src/services/async_item_service.rs`: `AsyncItemService` needs async-specific docs, including blocking task explanations. +- `src/modes/server/common.rs`: `AppState`, `ApiResponse`, and query structs lack full param/return docs. +- `src/compression_engine/mod.rs`: `CompressionEngine` trait needs comprehensive docs for all methods. +- `src/filter_plugin/mod.rs`: `FilterPlugin` trait and `FilterChain` need usage examples. + +### Medium Priority (Utilities and Helpers) +- `src/common/status.rs`: `StatusInfo` and related structs need schema docs. +- `src/db.rs`: All public functions like `open`, `insert_item` need error context and examples. +- `src/config.rs`: `Settings` and sub-structs need deserialization notes. +- `src/meta_plugin/mod.rs`: `MetaPlugin` trait methods need more examples; `process_metadata_outputs` lacks cases. + +### Low Priority (Internal/Helper) +- `src/services/compression_service.rs`: `CompressionService` methods are simple but need brief docs. +- `src/services/filter_service.rs`: `FilterService` needs plugin registration docs. +- `src/modes/common.rs`: Utility functions like `format_size` need inline docs. + +## Generation Plan +1. Run `cargo doc --no-deps` to generate and inspect current docs. +2. Add `///` comments to missing items. +3. Use `cargo doc --open` to verify. +4. Ensure all public items are documented before release. + +## Commands +```bash +cargo doc --no-deps # Generate docs without deps +cargo doc --open # Open generated docs in browser +```