feat(ui): edit the Renovate bot and workflow in Settings #126

Merged
deadstyle merged 2 commits from feature/125-settings-renovate into develop 2026-10-10 15:55:35 -05:00
Owner

Summary

Settings now has a Renovate section with, per host, the Renovate bot username and the workflow that N runs. Enter edits a row in place: enter saves, esc cancels, and a workflow that isn't owner/repo/file is refused with the same hint onboarding shows. Clearing the workflow hides N.

A workflow change applies at once, with no reconnect: N appears or disappears on the connected host. A changed bot username applies the next time you connect to that host (Settings says so when you save it for the connected host).

Onboarding's Renovate step now says the workflow needs an optional repo input for one-repo runs and points to the README section.

Decisions

  • Decided: the workflow is read on every use (core.Options.RenovateWorkflow is now a func over the live config, like RequireGreenCI), so Settings changes take effect without a new session.
  • Decided: the bot username stays session-scoped; making it live would mean reopening the session, which is out of scope here.
  • Decided: edit in place with the existing text-input component rather than sending you through the host Edit flow, which re-tests the connection.

Test plan

  • make check exits 0 (fmt, lint, go test -race, vuln, build, install-test, Windows vet).
  • Rows show values and the unset hints; save trims; malformed workflow stays open with the hint; clearing stores empty; esc cancels; typed keys aren't shortcuts; space doesn't open the editor; paste works.
  • App level: setting the workflow in Settings enables N and saves to config; clearing it disables N (checked red with the live read removed).
  • The editor renders within 80 columns; the onboarding step shows the new hint.

Review

Standards PASS (unsure items dismissed: lint already passes, the note survives in App, hosts can't be removed while the editor is modal). Spec: all AC met after adding the missing onboarding-text test. Comments: three restating comments cut.

Docs

docs/design.md Settings gains the Renovate bullet; README points to Settings. docs/architecture.md needs nothing (no layer or interface change); no ADR.

Layout was checked with a render-width test, not observed in a live terminal.

Refs #125

🤖 Generated with Claude Code

https://claude.ai/code/session_01KAW1xJdQBS2JvDpPykgRv1

## Summary Settings now has a **Renovate** section with, per host, the Renovate bot username and the workflow that `N` runs. Enter edits a row in place: enter saves, esc cancels, and a workflow that isn't `owner/repo/file` is refused with the same hint onboarding shows. Clearing the workflow hides `N`. A workflow change applies at once, with no reconnect: `N` appears or disappears on the connected host. A changed bot username applies the next time you connect to that host (Settings says so when you save it for the connected host). Onboarding's Renovate step now says the workflow needs an optional `repo` input for one-repo runs and points to the README section. ## Decisions - Decided: the workflow is read on every use (`core.Options.RenovateWorkflow` is now a func over the live config, like `RequireGreenCI`), so Settings changes take effect without a new session. - Decided: the bot username stays session-scoped; making it live would mean reopening the session, which is out of scope here. - Decided: edit in place with the existing text-input component rather than sending you through the host Edit flow, which re-tests the connection. ## Test plan - `make check` exits 0 (fmt, lint, `go test -race`, vuln, build, install-test, Windows vet). - Rows show values and the unset hints; save trims; malformed workflow stays open with the hint; clearing stores empty; esc cancels; typed keys aren't shortcuts; space doesn't open the editor; paste works. - App level: setting the workflow in Settings enables `N` and saves to config; clearing it disables `N` (checked red with the live read removed). - The editor renders within 80 columns; the onboarding step shows the new hint. ## Review Standards PASS (unsure items dismissed: lint already passes, the note survives in `App`, hosts can't be removed while the editor is modal). Spec: all AC met after adding the missing onboarding-text test. Comments: three restating comments cut. ## Docs `docs/design.md` Settings gains the Renovate bullet; README points to Settings. `docs/architecture.md` needs nothing (no layer or interface change); no ADR. Layout was checked with a render-width test, not observed in a live terminal. Refs #125 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01KAW1xJdQBS2JvDpPykgRv1
Settings gains a Renovate section with the bot username and the workflow N
runs, per host. Enter edits in place; a malformed workflow is refused with
the onboarding hint. The workflow is read on every use, so a change applies
without reconnecting. Onboarding's Renovate step now says the workflow needs
a repo input for one-repo runs.

Refs #125

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KAW1xJdQBS2JvDpPykgRv1
test(ui): cover the onboarding hint and the Settings editor at 80 columns
All checks were successful
ci / check (pull_request) Successful in 1m26s
a56ab100e3
Trims three restating comments and names the README section in the
onboarding hint.

Refs #125

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01KAW1xJdQBS2JvDpPykgRv1
deadstyle merged commit 914d703164 into develop 2026-10-10 15:55:35 -05:00
deadstyle deleted branch feature/125-settings-renovate 2026-10-10 15:55:35 -05:00
Sign in to join this conversation.
No description provided.