feat(agent): interactive TUI config mode for ./.forge/agent.yaml #38

Merged
frank merged 1 commit from agent/issue-36-agent-config-mode-für-aktuelles-verzeic into main 2026-07-12 17:06:16 +02:00
Owner

Summary

  • Adds forge agent config — a Bubble Tea TUI to create and edit ./.forge/agent.yaml in the current directory
  • Covers repositories (add/edit/delete, git remote suggestion), limits, triggers, labels, CI/babysit, and all other agent.yaml fields
  • Save validates like watch/run and writes YAML with overwrite confirmation

Test plan

  • go test ./...
  • forge agent config --help
  • Interactive: run forge agent config, edit fields, save, then forge agent watch without repeating flags

Closes #36

## Summary - Adds `forge agent config` — a Bubble Tea TUI to create and edit `./.forge/agent.yaml` in the current directory - Covers repositories (add/edit/delete, git remote suggestion), limits, triggers, labels, CI/babysit, and all other agent.yaml fields - Save validates like watch/run and writes YAML with overwrite confirmation ## Test plan - [x] `go test ./...` - [x] `forge agent config --help` - [ ] Interactive: run `forge agent config`, edit fields, save, then `forge agent watch` without repeating flags Closes #36
feat(agent): add interactive TUI config mode for ./.forge/agent.yaml
All checks were successful
CI / race (pull_request) Successful in 36s
CI / test (pull_request) Successful in 36s
8e42a0cf67
Introduce `forge agent config` to edit project agent settings in the current
directory without hand-editing YAML, with repo management, limits, and full
schema coverage plus save validation and wiki/help documentation.

Co-authored-by: Cursor <cursoragent@cursor.com>
Author
Owner

🔗 Linked to issue #36. Babysitting CI until green…

🔗 Linked to issue #36. Babysitting CI until green…
Author
Owner

forge agent finished implementation

  • Commit: feat(agent): add interactive TUI config mode for ./.forge/agent.yaml
  • Pull request: #38
  • Next: waiting for CI / babysitting fixes if needed
docs/wiki/Agent-Watch.md          |   15 +
 internal/agent/agentfile.go       |   70 ++-
 internal/agent/config_tui.go      | 1089 +++++++++++++++++++++++++++++++++++++
 internal/agent/config_tui_test.go |  137 +++++
 internal/cmd/agent.go             |   21 +-
 5 files changed, 1322 insertions(+), 10 deletions(-)
Agent output (tail)
- **`internal/agent/agentfile.go`** — `AgentFileRepo`-Typ, `ProjectAgentFilePath`, `LoadProjectAgentFile`, `ValidateAgentFile`, `SaveAgentFile`
- **Tests** — Roundtrip, Validierung, Pfad-Helfer
- **Doku** — Wiki `Agent-Watch.md` und `--help` für `watch`/`config`
TODO_DONE: TUI-Config-Mode startet im aktuellen Verzeichnis und lädt vorhandene `./.forge/agent.yaml` falls vorhanden  
TODO_DONE: Repositories lassen sich hinzufügen, bearbeiten und entfernen  
TODO_DONE: Limits (`parallel`, `max_open_prs`, …) sind setzbar  
TODO_DONE: Alle relevanten Agent-Optionen aus dem YAML-Schema sind über die TUI erreichbar  
TODO_DONE: Speichern schreibt gültiges YAML nach `./.forge/agent.yaml`  
TODO_DONE: Danach startet `forge agent run` (bzw. `watch`) mit dieser Projekt-Config ohne Pflicht-Flags für die gesetzten Werte  
TODO_DONE: Wiki (`Agent-Watch`) und `forge agent … --help` dokumentieren den Config-Mode  
PR_TITLE: feat(agent): interactive TUI config mode for ./.forge/agent.yaml
PR_BODY:
## Summary
- Adds `forge agent config` — a Bubble Tea TUI to create and edit `./.forge/agent.yaml` in the current directory
- Covers repositories (add/edit/delete, git remote suggestion), limits, triggers, labels, CI/babysit, and all other agent.yaml fields
- Save validates like watch/run and writes YAML with overwrite confirmation
## Test plan
- [x] `go test ./...`
- [x] `forge agent config --help`
- [ ] Interactive: run `forge agent config`, edit fields, save, then `forge agent watch` without repeating flags
✅ **forge agent finished implementation** - Commit: `feat(agent): add interactive TUI config mode for ./.forge/agent.yaml` - Pull request: https://repository.hildebrandt.io/frank/forgecli/pulls/38 - Next: waiting for CI / babysitting fixes if needed ``` docs/wiki/Agent-Watch.md | 15 + internal/agent/agentfile.go | 70 ++- internal/agent/config_tui.go | 1089 +++++++++++++++++++++++++++++++++++++ internal/agent/config_tui_test.go | 137 +++++ internal/cmd/agent.go | 21 +- 5 files changed, 1322 insertions(+), 10 deletions(-) ``` <details><summary>Agent output (tail)</summary> ``` - **`internal/agent/agentfile.go`** — `AgentFileRepo`-Typ, `ProjectAgentFilePath`, `LoadProjectAgentFile`, `ValidateAgentFile`, `SaveAgentFile` - **Tests** — Roundtrip, Validierung, Pfad-Helfer - **Doku** — Wiki `Agent-Watch.md` und `--help` für `watch`/`config` TODO_DONE: TUI-Config-Mode startet im aktuellen Verzeichnis und lädt vorhandene `./.forge/agent.yaml` falls vorhanden TODO_DONE: Repositories lassen sich hinzufügen, bearbeiten und entfernen TODO_DONE: Limits (`parallel`, `max_open_prs`, …) sind setzbar TODO_DONE: Alle relevanten Agent-Optionen aus dem YAML-Schema sind über die TUI erreichbar TODO_DONE: Speichern schreibt gültiges YAML nach `./.forge/agent.yaml` TODO_DONE: Danach startet `forge agent run` (bzw. `watch`) mit dieser Projekt-Config ohne Pflicht-Flags für die gesetzten Werte TODO_DONE: Wiki (`Agent-Watch`) und `forge agent … --help` dokumentieren den Config-Mode PR_TITLE: feat(agent): interactive TUI config mode for ./.forge/agent.yaml PR_BODY: ## Summary - Adds `forge agent config` — a Bubble Tea TUI to create and edit `./.forge/agent.yaml` in the current directory - Covers repositories (add/edit/delete, git remote suggestion), limits, triggers, labels, CI/babysit, and all other agent.yaml fields - Save validates like watch/run and writes YAML with overwrite confirmation ## Test plan - [x] `go test ./...` - [x] `forge agent config --help` - [ ] Interactive: run `forge agent config`, edit fields, save, then `forge agent watch` without repeating flags ``` </details>
Author
Owner

☑️ ToDos checked off

  • TUI-Config-Mode startet im aktuellen Verzeichnis und lädt vorhandene ./.forge/agent.yaml falls vorhanden
  • Repositories lassen sich hinzufügen, bearbeiten und entfernen
  • Limits (parallel, max_open_prs, …) sind setzbar
  • Alle relevanten Agent-Optionen aus dem YAML-Schema sind über die TUI erreichbar
  • Speichern schreibt gültiges YAML nach ./.forge/agent.yaml
  • Danach startet forge agent run (bzw. watch) mit dieser Projekt-Config ohne Pflicht-Flags für die gesetzten Werte
  • Wiki (Agent-Watch) und forge agent … --help dokumentieren den Config-Mode
☑️ **ToDos checked off** - [x] TUI-Config-Mode startet im aktuellen Verzeichnis und lädt vorhandene `./.forge/agent.yaml` falls vorhanden - [x] Repositories lassen sich hinzufügen, bearbeiten und entfernen - [x] Limits (`parallel`, `max_open_prs`, …) sind setzbar - [x] Alle relevanten Agent-Optionen aus dem YAML-Schema sind über die TUI erreichbar - [x] Speichern schreibt gültiges YAML nach `./.forge/agent.yaml` - [x] Danach startet `forge agent run` (bzw. `watch`) mit dieser Projekt-Config ohne Pflicht-Flags für die gesetzten Werte - [x] Wiki (`Agent-Watch`) und `forge agent … --help` dokumentieren den Config-Mode
Author
Owner
🟢 **CI green** (attempt 1/3) https://repository.hildebrandt.io/frank/forgecli/actions/runs/91
frank merged commit c380c2ca3e into main 2026-07-12 17:06:16 +02:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
frank/forgecli!38
No description provided.