lablup / lablup/backend.ai-webui
[bai-agent] `ui` search domain and `bai-agent where <thing>` over webui-map.json
- Dominant language
- TypeScript
- Stars
- 133
- Forks
- 81
- Avg merge
- 1d 11h
- Merged PRs (30d)
- 344
Description
## Parent
FR-3740 — step D. The agent-facing surface of the page→feature map.
## What to build
- New search domain `ui` in `packages/backend.ai-agent-cli/src/search/engine.ts` (`DOMAINS`), indexed from `data/webui-map.json` (labels via the existing i18n reverse index, English-only recall like the other domains). Register the source as **optional** in `repo-context.ts`: absent → `warn` in `doctor`, not a crash, so older checkouts keep working.
- `bai-agent where ""` — thin command over `search --domain ui` that prints the best page/tab/setting with its URL and the docs link when known; `--json` envelope like the others. `pages` alias lists the map.
- `explain ` gains a `where:` fragment using the existing `Derivation` tier vocabulary (`curated` / `auto` / `MISSING`) — never guessed.
- Skill + generated CLAUDE.md block updated (`init --features agents --write`), cookbook gets two `where` examples.
## Acceptance criteria
- [ ] `where "resource group"` → `/admin/agent?tab=resourceGroup` with exit 0; unknown thing → exit 5 with suggestions.
- [ ] `search --domain ui` participates in the unified ranking (`selectWithReservedSlots`) without changing existing regression results.
- [ ] Unit tests + regression set updated; CI (step B) green.
## Blocked by
- Step C (`webui-map.json`), step B (CI).
JIRA Issue: FR-3776
Contributor guide
No contributing guide indexed for this repository
Research direction
Start in packages/backend.ai-agent-cli/src/search/engine.ts and repo-context.ts, then inspect data/webui-map.json and the existing search, explain, skill, generated CLAUDE.md, and cookbook tests or fixtures. Check the Step C and Step B dependencies first. Done means the ui domain and where command meet the stated outputs and exit codes, explain has the derivation fragment, regression results are unchanged, and CI is green.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- typescript
- Domain
- cli, documentation
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Active
- Clarity
- Clearly specified
- Newbie friendliness
- 64/100