Add status, edit, open, and reset commands with agent config and updated docs#8
Merged
Add status, edit, open, and reset commands with agent config and updated docs#8
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
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$EDITORfor 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 (--forceto skip). Subcommands:flow reset status— Reset global status specflow 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 defaultsStatus 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.closed→in-review→in-progress→open, usinggh,git, andjqshell checks.~/.flow/workspaces/<id>/status.yamlfully replaces the global spec when present.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 withname,exec, anddefaultfields. Claude is the default agent on fresh installs.flow exec— Runningflow exec <ws>without--launches the default agent. Multiple agents prompt for selection.Config and path changes
config.yaml— New global config file withflow/v1schema, created automatically on first run.status.yaml— Global status spec, also auto-created on first run.WorkspaceStatusSpecPathandStatusSpecFileadded toConfigfor status spec resolution.Documentation
docs/specs/with config, state, and status schema docs.gendocs.status,edit-config,edit-state,edit-status,open,reset-status,reset-config,reset-state,reset-skills, anddelete.flow-cli/SKILL.mdwithopenand allresetsubcommands.Bug fixes
Test plan
make build && make lint && make test— all pass, 0 lint issuesflow reset <target> --forceskips confirmation and resets fileflow reset statepreserves workspace name/descriptionflow reset skillsoverwrites shared agent files with embedded defaultsflow openspawns shell in correct workspace directoryflow statuswith missing spec suggestsflow reset status🤖 Generated with Claude Code