# TODO - Future Improvements ## Usability - [ ] Progress reporting during indexing ("Fetching nixpkgs... Parsing options... Indexing files...") - [ ] Add `search_files` MCP tool - search for files by path pattern (e.g., find all nginx-related modules) - [ ] Include file size metadata in `get_option` declarations (byte size and/or line count) so clients know file sizes before fetching - [ ] Add range parameters to `get_file` (`offset`, `limit`) with sensible defaults (~200-300 lines) to avoid dumping massive files ## Robustness - [ ] PostgreSQL integration tests with testcontainers (currently skipped without manual DB setup) - [ ] Graceful handling of concurrent indexing (what happens if two clients index the same revision?) ## New MCP Servers - [x] `nixpkgs-packages` - Index and search nixpkgs packages (implemented in `nixpkgs-search packages`) - [x] `lab-monitoring` - Query Prometheus and Alertmanager APIs (8 tools, no database required) ## Lab Monitoring - [ ] Add `list_rules` tool - list Prometheus alerting and recording rules (via `/api/v1/rules`) - [ ] Add `get_rule_group` tool - get details for a specific rule group - [ ] Add Loki log query support - query logs via LogQL (via `/loki/api/v1/query_range`), enabling log correlation when investigating alerts (e.g., fetch logs for a specific instance/job around the time an alert fired) ## Nice to Have - [ ] Option history/diff - compare options between two revisions ("what changed in services.nginx between 24.05 and 24.11?") - [ ] Auto-cleanup - prune old revisions after N days or keep only N most recent - [ ] Man page generation - [ ] Shell completions (bash, zsh, fish)