Skip to content

Feature: recursive update command for monorepo/workspace layouts #1687

Description

@divy-piyushm

Problem

In a monorepo or multi-repo workspace, there is no single command to update all per-repo graphify-out/ graphs at once. The only option today is to call graphify update <path> individually for each sub-repo, which for a 14-repo workspace requires either a shell loop or spawning parallel agents manually.

Proposed command

graphify update . --recursive

Walk the directory tree from <path>, discover every subdirectory that contains a graphify-out/.graphify_root marker file, and run the equivalent of graphify update <sub-path> for each one in parallel.

Optional flags that would pair well:

  • --force: propagate to all sub-repos (same semantics as the single-path --force)
  • --concurrency N: cap parallel workers (default: cpu count or some reasonable limit)
  • A summary table at the end: repo name | nodes | edges | communities | status

Current workaround

Spawn N parallel agents (one per repo) or write a shell loop:

find . -name '.graphify_root' -path '*/graphify-out/*' | while read f; do
  dir=$(dirname $(dirname "$f"))
  graphify update "$dir" &
done
wait

This works but produces interleaved output and has no built-in concurrency cap.

Workspace that motivated this

14-repo workspace under a single parent directory. Running the parallel-agents workaround took ~90 seconds wall-clock and required external orchestration. A first-class --recursive flag would make this a one-liner with clean per-repo output.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions