Roadmap relationship
Outcome
Make projects, environments, services, deployments, resources, and safe actions quickly discoverable from anywhere, while providing visible filters and breadcrumbs for users who do not use keyboard shortcuts.
Current gap
The dashboard has no cross-resource search, command palette, tags, favorites, or saved views. Operational pages become scan-heavy as resource counts increase, and users must remember routes rather than search by name, domain, commit, or status.
User experience
- Open search from a visible control and a documented keyboard shortcut; never require the shortcut.
- Group results by scope and type, show environment/status/provider context, highlight matches, and support recent/favorite items.
- Offer permission-filtered navigation and context-sensitive safe actions; destructive actions still use the normal confirmation flow.
- Provide URL-backed filters, removable filter chips, useful zero-result guidance, and breadcrumbs on result destinations.
Scope
- Index projects, environments, services, domains, servers, databases, deployments/commits, and settings metadata.
- Add tags with normalized names/colors, assignment APIs, bulk filtering, and saved filter definitions per user.
- Support prefix/fuzzy matching with deterministic ranking and bounded result groups.
- Record recent navigation locally per user and allow pinning favorites without changing project config.
Technical direction
- Build the initial index from the embedded store and update it transactionally from resource/event changes.
- Use one typed command registry that references route/action IDs rather than arbitrary shell commands.
- Enforce authorization before indexing and again before resolving a result/action.
- Keep result payloads small and avoid indexing secret values, log bodies, or environment values.
Safety and operability
- No hidden or unauthorized resource names may leak through counts, suggestions, or timing-sensitive detail payloads.
- Actions display target scope and production risk before execution.
- Search remains usable in degraded mode with a clear stale-index indicator.
Acceptance criteria
- Users can find a service by name/domain, a deployment by SHA, and a server by label in a few keystrokes.
- Tags and saved filters persist per user and work across supported list pages.
- Search results and actions exactly match current permissions.
- Command palette, filters, and breadcrumbs are fully keyboard and screen-reader operable.
Verification
- Ranking, permission filtering, incremental index, stale/deleted resource, and secret non-indexing tests.
- End-to-end keyboard navigation and action handoff tests.
- Performance budget test with at least 10k indexed resources.
Non-goals
- Full-text indexing arbitrary logs or file contents.
- Executing free-form shell commands from the command palette.
- Making tags part of provider billing allocation in the first version.