🎯 Goal
Convert the kdm filters command from a plain add/remove/list CLI into an interactive multi-select checklist where users can toggle analyzers on and off with instant persistence.
📌 Current Behavior
kdm filters configures default active analyzers to filter what kdm analyze checks.
Subcommands:
| Subcommand |
Description |
kdm filters list |
List active and inactive analyzers |
kdm filters add <name> |
Add an analyzer to the active list |
kdm filters remove <name> |
Remove an analyzer from the active list |
Example usage:
kdm filters list
kdm filters add Ingress
🚀 Proposed Interactive Dashboard
Layout
Analyzer Filters Active: 5 / 12
──────────────────────────────────────────────────────
[x] Pod
[x] Deployment
[x] Service
[ ] Ingress
[x] CronJob
[ ] StatefulSet
[ ] DaemonSet
[x] ReplicaSet
[ ] PersistentVolumeClaim
[ ] NetworkPolicy
[ ] HPA
[ ] Node
──────────────────────────────────────────────────────
SPACE:Toggle ↑↓:Navigate Q:Quit (changes auto-saved)
User Flow
- User runs
kdm filters → checklist loads with current active/inactive state.
- Use
↑ / ↓ to move cursor.
- Press
Space to toggle a checkbox on/off.
- The header counter updates instantly (e.g.,
Active: 5 / 12 → Active: 6 / 12).
- Changes auto-save — no explicit save step needed.
- Press
Q to quit.
Keyboard Shortcuts
| Key |
Action |
↑ / ↓ |
Navigate analyzer list |
Space |
Toggle analyzer on/off |
Q |
Quit |
Recommended Libraries
| Component |
Library |
| Checkbox |
Custom Ink component using [ ] / [x] with useState |
| Colors |
chalk |
📋 Contribution Workflow
- Fork the repo and create a feature branch (e.g.,
feature/interactive-kdm-filters).
- Implement the interactive TUI for
kdm filters using the layout and flow described above.
- Submit a PR explicitly linked to this issue (e.g.,
Closes #142).
- 📸 Include a screenshot or recording of the implemented UI in your PR to verify the new dashboard experience.
🎯 Goal
Convert the
kdm filterscommand from a plain add/remove/list CLI into an interactive multi-select checklist where users can toggle analyzers on and off with instant persistence.📌 Current Behavior
kdm filtersconfigures default active analyzers to filter whatkdm analyzechecks.Subcommands:
kdm filters listkdm filters add <name>kdm filters remove <name>Example usage:
🚀 Proposed Interactive Dashboard
Layout
User Flow
kdm filters→ checklist loads with current active/inactive state.↑/↓to move cursor.Spaceto toggle a checkbox on/off.Active: 5 / 12→Active: 6 / 12).Qto quit.Keyboard Shortcuts
↑/↓SpaceQRecommended Libraries
[ ]/[x]withuseStatechalk📋 Contribution Workflow
feature/interactive-kdm-filters).kdm filtersusing the layout and flow described above.Closes #142).