Skip to content

[CLI] Feature — Context-Aware Search (Current Repo as Default Scope) #25

@0xheartcode

Description

@0xheartcode

Overview

lazydash was born as a project-focused tool for GitHub Projects. But there's a gap: not every repo has a formal GitHub Project dashboard. A developer in a repo directory running lazydash search "auth bug" probably wants to search that repo's issues first, not every project across every org.

Current State

No context awareness. No automatic scoping based on the current working directory. lazydash only shows GitHub Projects, not plain repos with issues.

Proposed Solution

Make search context-aware with a scoping hierarchy defaulting to the narrowest useful scope:

Default (current repo):

cd ~/code/my-api
lazydash search "auth bug"        # searches issues in my-api only
lazydash recall "that thing"      # recalls cached items from my-api only

lazydash detects the current repo via .git/config or git remote -v.

Explicit scope flags to widen:

lazydash search "auth bug" --project "Engineering Board"
lazydash search "auth bug" --org myorg
lazydash search "auth bug" --user
lazydash search "auth bug" --all

Scoping hierarchy: 1) Current repo (default), 2) Specific project, 3) Specific org, 4) All user repos/projects, 5) Global search.

Repos as implicit projects: Repos without a formal GitHub Project board show as a simple flat list of issues. This means lazydash becomes useful even for repos that don't use GitHub Projects — which is the majority of repos.

Configurable default:

defaults:
  searchScope: repo        # "repo", "project", "org", "user", "all"

Why This Matters

This makes lazydash feel like a local-first tool rather than a GitHub web UI clone. It also dramatically expands the addressable user base since most repos don't use GitHub Projects.

Priority

High — do alongside or immediately after the cache and search issues. The scoping logic integrates tightly with search and cache. The repo-as-implicit-project concept should be designed into the provider interface early.

Acceptance Criteria

  • lazydash auto-detects current repo from git remotes
  • Search defaults to current repo scope when inside a git repo
  • --project, --org, --user, --all flags widen the scope
  • Repos without GitHub Projects show a flat issue list
  • TUI shows current scope in a status bar
  • Default scope is configurable in the config file

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureNew functionalitymajor-featureDays of work, large scope

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions