{"actions":{"bootstrapAndRun":{"effect":"installs rote if missing, inspects, prepares, and asks before running","href":"https://play.modiqo.ai/install?play=paveenkumar-dev/project-flow-brief@0.0.25","method":"GET","rel":"https://rote.dev/rels/bootstrap-and-run","requiresConsent":true,"responseMediaType":"text/x-shellscript"},"inspect":{"command":"rote play inspect https://play.modiqo.ai/paveenkumar-dev/project-flow-brief@0.0.25","effect":"read-only"},"installCliOnly":{"effect":"installs the rote CLI, nothing else","href":"https://play.modiqo.ai/install","method":"GET","rel":"https://rote.dev/rels/install-cli","requiresConsent":true,"responseMediaType":"text/x-shellscript"},"run":{"command":"rote play run https://play.modiqo.ai/paveenkumar-dev/project-flow-brief@0.0.25","effect":"executes the play locally after consent","headless":{"approvalAssertion":"--yes","approvalRequiredBeforeInvocation":true,"commandTemplate":"rote play run https://play.modiqo.ai/paveenkumar-dev/project-flow-brief@0.0.25 <name=value...> --yes","stdinPolicy":"never pipe input to automate the interactive Ready selector"},"requiresConsent":true}},"description":"Documents a local codebase as a diagram and a spoken walkthrough, in two steps. It writes seven artifacts - mermaid, SVG, PNG, .excalidraw, narration text and audio - into a docs folder in the project you choose, and refuses to run rather than replace existing ones unless you pass overwrite=true. No network calls, no LLM calls, nothing is sent. Only python3 is required; the other two tools are optional. Run it with no arguments to list every project it finds, then enter that project's number on the next run. Numbers refer to the last list shown on this machine. It derives a module dependency graph from Python, JavaScript, TypeScript, Rust or Ruby - resolving path aliases, workspace members and cross-file chains - and skips vendored trees, snapshots and tests. Rendering SVG, PNG and .excalidraw needs the gstack browse daemon locally; without it the run still succeeds and names what it skipped.","distribution":{"digest":"sha256:25cafb1534b523be2d36d678c562020909a84641f34f6497bc09114f9eb324c3","mediaType":"application/vnd.modiqo.rote-flow","size":28260,"verifiedBy":"rote verifies the downloaded archive against this digest before it runs"},"effects":{"credentialsProvidedBy":"runner","credentialsRemainLocal":true,"declaredWrites":[],"publisherReceivesCredentials":false},"id":"https://play.modiqo.ai/paveenkumar-dev/project-flow-brief@0.0.25","inputPolicy":{"optionalWithDefault":"show_default_and_accept_override","optionalWithoutDefault":"omit_unless_supplied","required":"ask","secrets":"collect_locally_outside_conversation"},"links":{"docs":"https://rote.dev","page":"https://play.modiqo.ai/paveenkumar-dev/project-flow-brief@0.0.25","protocol":"https://play.modiqo.ai/.well-known/rote","self":"https://play.modiqo.ai/paveenkumar-dev/project-flow-brief@0.0.25.json"},"name":"project-flow-brief","owner":{"kind":"user","slug":"paveenkumar-dev"},"parameters":[{"description":"Enter a number from the most recently displayed project list on this machine. Leave empty to list projects. Do not combine with project_path.","input":{"allowCustom":true,"choices":[],"label":"Project number"},"name":"project_number","required":false,"type":"string"},{"description":"Optional path for direct selection. Leave this and Project number empty to get a numbered list. Quote the argument if the path has spaces.","input":{"allowCustom":true,"choices":[],"label":"Project folder (optional)"},"name":"project_path","required":false,"type":"string"},{"default":"~/Documents,~/Projects,~/Developer,~/Code","description":"Directories scanned when no project is selected, comma-separated. A candidate holds a .git directory or a known manifest.","input":{"allowCustom":true,"choices":[{"label":"Documents, Projects, Developer, Code","value":"~/Documents,~/Projects,~/Developer,~/Code"},{"label":"Documents only","value":"~/Documents"}],"label":"Where to look for projects"},"name":"search_roots","required":false,"type":"string"},{"default":"Tara","description":"macOS say voice for the narration. A voice you name explicitly but have not installed stops the run rather than silently substituting. Run say -v '?' to list yours.","input":{"allowCustom":true,"choices":[{"label":"Tara","value":"Tara"},{"label":"Rishi","value":"Rishi"},{"label":"Samantha","value":"Samantha"},{"label":"Daniel","value":"Daniel"}],"label":"Narration voice"},"name":"voice","required":false,"type":"string"},{"default":168,"description":"Narration speed in words per minute. Clamped to 90-400.","input":{"allowCustom":true,"choices":[{"label":"140 wpm","value":140},{"label":"168 wpm","value":168},{"label":"200 wpm","value":200}],"label":"Narration speed (wpm)"},"name":"speech_rate","required":false,"type":"integer"},{"description":"Directory to write artifacts into. Defaults to a docs directory inside project_path. Existing files with the same names are overwritten.","input":{"allowCustom":true,"choices":[],"label":"Write artifacts to"},"name":"output_dir","required":false,"type":"string"},{"description":"Optional hand-authored mermaid source, used instead of the derived graph. Must be a flat flowchart - subgraph blocks collapse the Excalidraw output.","input":{"allowCustom":true,"choices":[],"label":"Custom mermaid file (optional)"},"name":"mermaid_file","required":false,"type":"string"},{"description":"Optional path to a hand-authored narration script, used instead of the mechanically derived one.","input":{"allowCustom":true,"choices":[],"label":"Custom narration script (optional)"},"name":"narration_file","required":false,"type":"string"},{"default":"false","description":"Keep test files and directories in the module graph. Off by default, so the diagram shows the shipped architecture, not its test suite.","input":{"allowCustom":false,"choices":[{"label":"Yes","value":"true"},{"label":"No","value":"false"}],"label":"Include test files"},"name":"include_tests","required":false,"type":"string","validValues":["true","false"]},{"default":18,"description":"Modules drawn before the least connected are dropped and summarised. Clamped to 5-60. Raise it to diagram a large project in full.","input":{"allowCustom":true,"choices":[{"label":"12 modules","value":12},{"label":"18 modules","value":18},{"label":"30 modules","value":30}],"label":"Maximum modules drawn"},"name":"max_nodes","required":false,"type":"integer"},{"default":"false","description":"Replace artifacts already in the output folder. Off by default, which stops before writing anything, protecting hand-authored files. Replaced files are named in the warnings.","input":{"allowCustom":false,"choices":[{"label":"Yes","value":"true"},{"label":"No","value":"false"}],"label":"Replace existing artifacts"},"name":"overwrite","required":false,"type":"string","validValues":["true","false"]}],"preparation":[{"action":{"command":"rote play inspect https://play.modiqo.ai/paveenkumar-dev/project-flow-brief@0.0.25 --json","effect":"read-only"},"step":1,"type":"inspect_local_readiness"},{"references":["/parameters"],"step":2,"type":"collect_parameters"},{"references":["/parameters","/requirements","/effects"],"step":3,"type":"review"},{"consentBoundary":"the user approves the exact play and parameter values","references":["/parameters","/requirements","/effects"],"step":4,"type":"obtain_run_consent"},{"action":{"command":"rote play run https://play.modiqo.ai/paveenkumar-dev/project-flow-brief@0.0.25","headlessCommandTemplate":"rote play run https://play.modiqo.ai/paveenkumar-dev/project-flow-brief@0.0.25 <name=value...> --yes"},"preservesAcquisitionBoundaries":["adapter_selection","oauth_dcr","google_discovery","static_token_setup","runtime_security_checks"],"requiresConsent":true,"step":5,"type":"run"}],"producedBy":{"roteVersion":"0.80.0"},"publishedAt":"2026-09-06T16:12:25.199275+00:00","reference":"paveenkumar-dev/project-flow-brief@0.0.25","requirements":{"adapters":[],"browser":{"dependencies":[],"runtime":false,"signIn":false},"hostToolRequirements":[{"command":"python3","required":true,"versionRequirement":">=3.9.0"},{"command":"say","required":false,"versionRequirement":null},{"command":"afconvert","required":false,"versionRequirement":null}],"localTools":["python3","say","afconvert"],"roteCli":{"minimumVersion":"0.62.0"},"sessions":false},"resolution":"pinned","schema":"rote.play.v1","stats":{"downloads":1,"installs":0},"steps":{"count":1,"names":["build_brief"]},"title":"project-flow-brief","type":"play","version":"0.0.25","visibility":"public"}