Skip to content

RoadmapΒ #63

@shouze

Description

@shouze

This issue tracks the high-level feature backlog for github-code-search. It is meant to be a living document β€” priorities may shift as feedback comes in.

Priority: πŸ”΄ high Β· 🟑 medium Β· 🟒 nice-to-have


πŸ” TUI β€” Advanced filtering

The current filter mode (f) only matches against file paths. This category extends it.

πŸ—‚ TUI β€” Navigation & result management

πŸ‘₯ Team ownership mode

Single-owner assignment for downstream tooling (e.g. github-issue-ops). Full scope tracked in EPIC #88.

πŸ€– Natural language search (experimental)

A two-stage approach that extends the existing keyword-based search workflow.

Stage 1 β€” NL β†’ GitHub query translation

Translate a plain-English description into a valid GitHub Code Search query using an LLM. Example:

"find all places where we swallow exceptions without logging"
β†’ catch -throw -logger language:typescript

Stage 2 β€” Semantic post-filtering

After fetching results from the GitHub API, re-rank or filter the returned code fragments by semantic similarity to the original query β€” surfacing the most relevant matches above GitHub's default relevance ordering.

The two stages are independent and can be enabled separately via a --natural-language flag (stage 1) and a --semantic-rerank flag (stage 2).

Dependencies

Dependency Purpose Notes
LLM provider (OpenAI, Anthropic, Ollama, …) Query translation β€” stage 1 Configured via env var or config file
Embeddings model (OpenAI, local via Ollama, …) Semantic re-ranking β€” stage 2 Optional; falls back to GitHub relevance order
GITHUB_CODE_SEARCH_AI_KEY + GITHUB_CODE_SEARCH_AI_PROVIDER env vars Provider configuration New env surface, no hard dependency on a specific vendor
Persistent config file (~/.githubcodesearchrc) Store provider preferences across invocations Shared dependency with the Developer experience section

⚠️ This feature introduces an optional external dependency. When no AI provider is configured the tool behaves exactly as today β€” there is no silent fallback or unexpected network call.

  • 🟒 NL β†’ query translation (stage 1)
  • 🟒 Semantic post-filtering / re-ranking (stage 2)

πŸ›  Developer experience


Contributions welcome β€” feel free to open a dedicated issue for any item you'd like to discuss or implement.

Sub-issues

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions