Skip to content

feat: add an interactive config editing command #114

Description

@nonz250

Summary

Add a command to edit config.yml interactively, either one repository at a time or by walking through every repository in turn.

Problem

After init, the only way to change a setting is to hand-edit config.yml. add exists but only appends a repository, and it rewrites the file through YAML.stringify, which discards comments and formatting.

A real config has nine repository entries, each carrying a full label block, so the file is long and repetitive. Changing one field - auto_impl_after_plan, or adding the missing default_branch - means locating the right block by hand and getting the indentation right.

Scope

  • New command (for example sabori-flow edit).
  • Pick a single repository to edit, or walk all repositories one by one.
  • Edit execution.* and language as well, not only repositories.
  • Offer the current value as the default for every prompt so that pressing Enter is a no-op.
  • Allow removing a repository.
  • Preserve unknown keys, and preserve comments and formatting where practical.
  • State when a change requires reinstall (interval_minutes is the one that does).

Considerations

  • add should reuse the same per-repository prompt flow (src/commands/helpers/repository-prompt.ts), so the two commands stay consistent.
  • Should follow feat: add an interactive config migration command #113, which settles how config.yml is written back (surgical edit vs. full reformat) and introduces the schema version.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions