Skip to content

Add status, edit, open, and reset commands with agent config and updated docs#8

Merged
milldr merged 31 commits intomainfrom
feat/status-and-edit
Feb 24, 2026
Merged

Add status, edit, open, and reset commands with agent config and updated docs#8
milldr merged 31 commits intomainfrom
feat/status-and-edit

Conversation

@milldr
Copy link
Owner

@milldr milldr commented Feb 23, 2026

Summary

This PR adds several new commands, introduces the status resolution system, and overhauls documentation with spec references, GIF demos, and an updated README.

New commands

  • flow status [workspace] — Resolves and displays the status of each repo in a workspace using shell-based check commands defined in a status spec (status.yaml). Without arguments, shows a summary table of all workspaces. With a workspace argument, shows a per-repo breakdown.
  • flow edit <target> [workspace] — Opens config, state, or status files in $EDITOR for quick editing. Subcommands: flow edit config, flow edit state <ws>, flow edit status [ws].
  • flow open <workspace> — Launches a new interactive shell session in the workspace directory. Sets iTerm2 tab color and title.
  • flow reset <target> — Resets config files to their default values with a confirmation prompt (--force to skip). Subcommands:
    • flow reset status — Reset global status spec
    • flow reset config — Reset global config (restores default agent list)
    • flow reset state <ws> — Reset workspace state (preserves name/description)
    • flow reset skills — Reset shared agent skills (CLAUDE.md, flow-cli, workspace-structure) to embedded defaults

Status resolution system

  • internal/status/ — New package implementing spec loading, validation, and resolution. Checks run top-to-bottom per repo; first passing check wins. Workspace status = least-advanced repo.
  • 4-status default workflowclosedin-reviewin-progressopen, using gh, git, and jq shell checks.
  • Workspace-level overrides~/.flow/workspaces/<id>/status.yaml fully replaces the global spec when present.
  • Environment variables — Check commands receive FLOW_REPO_URL, FLOW_REPO_BRANCH, FLOW_REPO_PATH, FLOW_REPO_SLUG, FLOW_WORKSPACE_ID, FLOW_WORKSPACE_NAME.

Agent config and exec

  • spec.agents[] in config.yaml — Configurable AI agent list with name, exec, and default fields. Claude is the default agent on fresh installs.
  • Agent-aware flow exec — Running flow exec <ws> without -- launches the default agent. Multiple agents prompt for selection.

Config and path changes

  • config.yaml — New global config file with flow/v1 schema, created automatically on first run.
  • status.yaml — Global status spec, also auto-created on first run.
  • WorkspaceStatusSpecPath and StatusSpecFile added to Config for status spec resolution.

Documentation

  • Spec references — Added docs/specs/ with config, state, and status schema docs.
  • PRDs — Added PRD-006 (status) and PRD-007 (edit command).
  • Command docs — Auto-generated markdown for all new commands with GIF demos injected by gendocs.
  • VHS tapes — New tapes for status, edit-config, edit-state, edit-status, open, reset-status, reset-config, reset-state, reset-skills, and delete.
  • README — Restructured quickstart with collapsible sections, added motivation, updated directory layout, documented agent-aware exec.
  • Skill doc — Updated flow-cli/SKILL.md with open and all reset subcommands.

Bug fixes

  • In-progress detection — Fixed status check to ignore repos that are behind remote (only detect ahead-of-remote as in-progress).
  • Status UI — Removed extra newline between status label and repo table.

Test plan

  • make build && make lint && make test — all pass, 0 lint issues
  • Status resolution: first-match wins, workspace = least-advanced repo
  • Agent config: round-trip YAML, default agent selection, no-default handling
  • flow reset <target> --force skips confirmation and resets file
  • flow reset state preserves workspace name/description
  • flow reset skills overwrites shared agent files with embedded defaults
  • flow open spawns shell in correct workspace directory
  • flow status with missing spec suggests flow reset status
  • Demo tapes render correctly with pre-populated workspaces

🤖 Generated with Claude Code

@milldr milldr added the major Major version bump label Feb 23, 2026
@milldr milldr changed the title Add flow status and flow edit commands Add status, edit commands, agent config, and updated demo Feb 23, 2026
@milldr milldr changed the title Add status, edit commands, agent config, and updated demo Add status, edit, open, and reset commands with agent config and updated docs Feb 24, 2026
@milldr milldr merged commit a4906d0 into main Feb 24, 2026
3 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

major Major version bump

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant