open-dynamic-workflow
Open Dynamic Workflow is a local-first workflow runner for orchestrating external coding-agent CLIs
File Explorer
Download Latest Version (.zip)- ci.yml
- deploy-pages.yml
- quality-gate-fixer.agent.js
- npm-quality-gate.js
- demo-quality-gate.js
- config.yaml
- README.md
- ultra-loop-acquire-next.js
- ultra-loop-checkpoint.js
- ultra-loop-create-run.js
- ultra-loop-ledger.js
- ultra-loop-quality-gate.js
- ultra-loop-record-evidence.js
- ultra-loop-status.js
- ultra-loop-steer.js
- ultra-loop-round.js
- ultra-loop.js
- config.yaml
- README.md
- configurable-artifact-runs.config.yaml
- mock-review.js
- parallel-review.js
- cover.png
- demo.png
- copy-runtime-assets.mjs
- fix-bin-permissions.mjs
- basic-workflow.template.js
- loop-workflow.template.js
- parallel-workflow.template.js
- pipeline-workflow.template.js
- tool-workflow.template.js
- api-document.md
- cli-commands.md
- configuration.md
- README.md
- manifest.txt
- SKILL.md
- antigravity-cli.ts
- attempt-classifier.ts
- codex-exec.ts
- cursor-agent.ts
- execute-agent.ts
- execution-types.ts
- gemini-cli.ts
- github-copilot-cli.ts
- mock-adapter.ts
- model-args.ts
- opencode-cli.ts
- pi-coding-agent.ts
- process-runner.ts
- process-size-guard.ts
- prompt-transport.ts
- provider-health.ts
- provider-names.ts
- registry.ts
- resolve-model.ts
- resolve-provider-selection.ts
- resolve-thinking-effort.ts
- retry-delay.ts
- retry-orchestrator.ts
- thinking-effort-support.ts
- types.ts
- validate-provider-selection.ts
- agent-fingerprint.ts
- call-cache.ts
- logs.ts
- manifest.ts
- run-store.ts
- open-dynamic-workflow.ts
- doctor.ts
- init.ts
- list.ts
- resume.ts
- run.ts
- validate.ts
- tool-runtime-globals.d.ts
- defaults.ts
- planner.ts
- prompts.ts
- providers.ts
- renderer.ts
- smoke-test.ts
- summary.ts
- types.ts
- writer.ts
- args.ts
- artifact-paths.ts
- discovery-patterns.ts
- error-output.ts
- index.ts
- package-info.ts
- paths.ts
- print.ts
- profile-resolution.ts
- run-input-profile.ts
- run-input.ts
- defaults.ts
- load.ts
- merge.ts
- path-diagnostics.ts
- path-discovery.ts
- path-safety.ts
- profile-file.ts
- profiles.ts
- provider-aliases.ts
- resolved-artifact.ts
- retry.ts
- schema.ts
- types.ts
- yaml.ts
- artifacts.ts
- errors.ts
- events.ts
- index.ts
- json.ts
- limits.ts
- operations.ts
- path.ts
- profile-seed.ts
- runtime.ts
- snapshot.ts
- types.ts
- collect-files.ts
- compile-patterns.ts
- definition-call.ts
- diagnostics.ts
- directories.ts
- duplicate-detector.ts
- extract-agent.ts
- extract-tool.ts
- extract-workflow.ts
- file-patterns.ts
- glob-engine.ts
- index.ts
- policy.ts
- precollect.ts
- schema-summary.ts
- service.ts
- static-values.ts
- types.ts
- artifact-root-health.ts
- public.ts
- codes.ts
- exit-codes.ts
- list-errors.ts
- project-init-hint.ts
- serialize.ts
- types.ts
- artifacts.ts
- context.ts
- events.ts
- id.ts
- index.ts
- replay.ts
- results.ts
- run.ts
- summary.ts
- types.ts
- validate.ts
- cancellation.ts
- event-bus.ts
- fail-fast.ts
- scheduler.ts
- tool-limiter.ts
- events.ts
- failed-artifacts.ts
- json-reporter.ts
- jsonl-reporter.ts
- list-json-reporter.ts
- list-jsonl-reporter.ts
- list-pretty-reporter.ts
- list-reporter.ts
- pretty-format.ts
- pretty-renderer.ts
- pretty-reporter.ts
- pretty-view-builder.ts
- pretty-view.ts
- provider-selection-diagnostics.ts
- provider-selection-events.ts
- reporter.ts
- verbose-formatter.ts
- artifacts.ts
- concurrency.ts
- context.ts
- events.ts
- id.ts
- item-streaming.ts
- results.ts
- run.ts
- stage-barrier.ts
- stage-runner.ts
- summary.ts
- types.ts
- validate.ts
- public.ts
- env.ts
- metadata.ts
- context.ts
- define-agent.ts
- execute.ts
- index.ts
- load.ts
- registry.ts
- render.ts
- resolver.ts
- types.ts
- validate.ts
- extract-json.ts
- normalize-agent-output.ts
- structured-output.ts
- validate-json.ts
- artifacts.ts
- define-tool.ts
- definition-contract.ts
- executor-types.ts
- executor.ts
- index.ts
- load.ts
- registry.ts
- runtime-api.ts
- runtime-global-lock.ts
- runtime-globals.ts
- runtime-module-loader.ts
- runtime-package-shim.ts
- serialization.ts
- validate.ts
- agent.ts
- artifacts.ts
- common.ts
- config.ts
- context.ts
- errors.ts
- events.ts
- index.ts
- process.ts
- provider-selection.ts
- reporter.ts
- retry.ts
- scheduler.ts
- thinking-effort.ts
- tool.ts
- workflow.ts
- discovery.ts
- dsl.ts
- errors.ts
- invocation-artifacts.ts
- invocation-manager.ts
- invocation-types.ts
- json.ts
- load.ts
- parse.ts
- registry.ts
- resolve-target.ts
- run-limits.ts
- runtime.ts
- sandbox.ts
- scope.ts
- types.ts
- validate.ts
- workflow-call.ts
- index.ts
- node-globals.d.ts
- package-execution.test.ts
- agent-failure.config.yaml
- bad-discovery.config.yaml
- invalid-concurrency.yaml
- invalid-provider.yaml
- invalid-report-mode.yaml
- loop-integration.config.yaml
- loop.config.yaml
- mock-provider-config.yaml
- mock.config.yaml
- parallel-concurrency.config.yaml
- provider-adapters.config.yaml
- run-by-name.config.yaml
- schema-validation.config.yaml
- timeout-handling.config.yaml
- valid-config.yaml
- empty.txt
- json-single-object.json
- jsonl-embedded-structured-output.jsonl
- jsonl-malformed-line.jsonl
- jsonl-success.jsonl
- plain-success.txt
- json-embedded-structured-output.json
- json-empty.txt
- json-malformed.txt
- json-success.json
- malformed.json
- plain-success.txt
- plain-text.txt
- success.json
- agent.ts
- flow.ts
- tool.ts
- agent-1.agent.ts
- agent-2.agent.ts
- tool-1.tool.ts
- tool-2.tool.ts
- flow-1.workflow.ts
- flow-2.workflow.ts
- missing-id.agent.ts
- invalid-timeout.tool.ts
- missing-description.workflow.ts
- invalid.agent.ts
- valid.agent.ts
- invalid.tool.ts
- valid.tool.ts
- invalid.workflow.ts
- valid.workflow.ts
- side-effect.agent.ts
- side-effect.tool.ts
- malicious.workflow.ts
- static-wrapper.agent.ts
- static-wrapper.tool.ts
- static-wrapper.workflow.ts
- open-dynamic-workflow.config.yaml
- code-reviewer.agent.ts
- read-config.tool.ts
- feature-builder.workflow.ts
- json-embedded-structured-output.jsonl
- json-empty.txt
- json-malformed-line.jsonl
- json-no-assistant.jsonl
- json-success.jsonl
- json-tool-events.jsonl
- print-success.txt
- config.yaml
- workflow.js
- fake-gemini-cli.mjs
- fake-provider-cli.mjs
- fake-stdin-provider-cli.mjs
- developer-subagent.agent.js
- shared-agent-loop-cache.workflow.js
- open-dynamic-workflow.config.yaml
- duplicate-a.invalid
- duplicate-b.invalid
- path-like-name.invalid
- recursive-a.invalid
- recursive-b.invalid
- recursive-direct.invalid
- child-agent.workflow.js
- child-basic.workflow.js
- child-echo.workflow.js
- child-fails.workflow.js
- child-failure.workflow.js
- child-no-schema.workflow.js
- child-pipeline.workflow.js
- child-schema.workflow.js
- child-timeout.workflow.js
- parent-basic.workflow.js
- parent-invalid-args.workflow.js
- parent-settled-failure.workflow.js
- root-calls-child.workflow.js
- root-settled.workflow.js
- imports.invalid
- invalid-args-root.invalid
- missing-child-root.invalid
- valid-root.workflow.js
- a.workflow.js
- b.workflow.js
- depth-1.workflow.js
- depth-2.workflow.js
- depth-3.workflow.js
- parent-recursion-a.workflow.js
- parent-recursion-b.workflow.js
- duplicate-1.ts
- duplicate-2.ts
- Review-Case.ts
- review.ts
- throw-if-executed.ts
- case-review.workflow.js
- duplicate-a.workflow.js
- duplicate-b.workflow.js
- executable-invalid-unrelated.workflow.js
- explicit-path.workflow.js
- invalid-unrelated.workflow.js
- opencode.workflow.js
- review.workflow.js
- agent-failure.workflow.js
- artifact-persistence.workflow.js
- dangerously-full-access-extra-key.workflow.js
- dangerously-full-access-invalid-mode.workflow.js
- dangerously-full-access-valid.workflow.js
- invalid-dynamic-meta.js
- invalid-fs.js
- invalid-import.js
- invalid-loop-max-rounds.workflow.js
- invalid-loop-options.workflow.js
- invalid-loop-tool.js
- invalid-meta-not-first.js
- invalid-missing-meta.js
- invalid-missing-meta.workflow.js
- invalid-pipeline.js
- invalid-process.js
- invalid-require.js
- loop-break.workflow.js
- loop-duplicate-labels.workflow.js
- loop-explicit-agent-id.workflow.js
- loop-failure-fail-fast.workflow.js
- loop-failure-settled.workflow.js
- loop-inside-parallel.workflow.js
- loop-max-rounds.workflow.js
- loop-nested-parallel.workflow.js
- loop-nested-repeated-child.workflow.js
- loop-nested-repeated-parent.workflow.js
- loop-nested-workflow.workflow.js
- loop-resume-cache-nested-result.workflow.js
- loop-resume-cache.workflow.js
- loop-resume-mismatch.workflow.js
- loop-resume-nested-child.workflow.js
- loop-resume-nested-parent.workflow.js
- loop-resume-state-mismatch.workflow.js
- loop-return-break.workflow.js
- loop-secret.workflow.js
- loop-settled-max-rounds.workflow.js
- loop-settled-success.workflow.js
- loop-stop-when.workflow.js
- mock-failure.workflow.js
- mock-schema-failure.workflow.js
- mock-success.workflow.js
- parallel-concurrency.workflow.js
- phases-and-logs.workflow.js
- pipeline-cancellation.workflow.js
- pipeline-item-streaming.workflow.js
- pipeline-stage-barrier.workflow.js
- provider-adapters.workflow.js
- reporter-modes.workflow.js
- runtime-agent-failure.js
- runtime-parallel-array.js
- runtime-parallel-object.js
- runtime-simple.js
- schema-validation.workflow.js
- timeout-handling.workflow.js
- tool-invalid-parallel.workflow.js
- tool-success.workflow.js
- valid-basic.workflow.js
- valid-simple.js
- valid-with-phases.js
- verbose-agent-logging.workflow.js
- fake-counter-provider.mjs
- simple-workflow.ts
- init-command-options.test.ts
- init-command.integration.test.ts
- options.test.ts
- planner.test.ts
- prompts.test.ts
- providers.test.ts
- renderer.test.ts
- smoke-test.test.ts
- summary.test.ts
- writer.test.ts
- agent-failure.test.ts
- artifact-persistence.test.ts
- authoritative-runtime-resolution-acceptance.test.ts
- configurable-artifact-run-path.test.ts
- cross-cutting.test.ts
- discovery-static-values-regression.test.ts
- doctor-command.test.ts
- dsl-constructs-simplification-acceptance.test.ts
- exit-codes.test.ts
- glob-compilation-acceptance.test.ts
- init-and-legacy-import-acceptance.test.ts
- list-command-security.test.ts
- list-command.test.ts
- list-run-consistency.test.ts
- loop-acceptance-aaa.test.ts
- loop-acceptance.test.ts
- loop-artifacts.test.ts
- loop-reporters.test.ts
- loop-resume-cache.test.ts
- loop-validation.test.ts
- mock-run-artifacts.test.ts
- mock-run-failure.test.ts
- mock-run-json.test.ts
- mock-run-jsonl.test.ts
- mock-run-success.test.ts
- nested-workflow-acceptance.test.ts
- nested-workflow-artifacts.test.ts
- nested-workflow-cancellation.test.ts
- nested-workflow-reporters.test.ts
- nested-workflow-run.test.ts
- nested-workflow-security.test.ts
- nested-workflow-validation.test.ts
- outdir-config-command-acceptance.test.ts
- outdir-doctor-init-observability-acceptance.test.ts
- outdir-run-resume-acceptance.test.ts
- output-root-no-write.test.ts
- parallel-concurrency.test.ts
- path-config-cli.test.ts
- path-config-compatibility.test.ts
- path-config-init.test.ts
- path-config-legacy-compat.test.ts
- path-config-security.test.ts
- pipeline-agent-id-collision.test.ts
- pipeline-artifacts.test.ts
- pipeline-cancellation.test.ts
- pipeline-item-streaming.test.ts
- pipeline-mock-provider.test.ts
- pipeline-reporters.test.ts
- pipeline-shared-agent.test.ts
- pipeline-stage-barrier.test.ts
- profile-artifact-persistence.test.ts
- profile-cli-options-and-validate.test.ts
- profile-parsing-and-resolution-acceptance.test.ts
- profile-persistence-and-resume-acceptance.test.ts
- profile-reporting.test.ts
- profile-resume.test.ts
- profile-run-precedence.test.ts
- profile-runtime-context.test.ts
- provider-adapters.test.ts
- provider-alias-acceptance.test.ts
- provider-alias-cache.test.ts
- provider-alias-events.test.ts
- provider-alias-phase3-acceptance.test.ts
- provider-alias-runtime.test.ts
- reporter-modes.test.ts
- resumable-acceptance.test.ts
- resumable-tools-aaa.test.ts
- resume-cache.test.ts
- resume-workflow-name.test.ts
- run-workflow-name-acceptance.test.ts
- run-workflow-name.test.ts
- runtime-loading-compatibility-acceptance.test.ts
- schema-validation.test.ts
- shared-agent-workflow.test.ts
- shared-agents-acceptance.test.ts
- suite-credentials.test.ts
- thinking-effort-acceptance.test.ts
- timeout-handling.test.ts
- tool-cli.test.ts
- tool-global-runtime.test.ts
- tool-legacy-import-verbose.test.ts
- tool-runtime-resolution.test.ts
- tool-serialization.test.ts
- tool-top-level.test.ts
- tool-workflow.test.ts
- validate-success.test.ts
- validate-workflow-name.test.ts
- verbose-agent-logging.test.ts
- workflow-context-cache-determinism.test.ts
- workflow-run.test.ts
- workflow-runtime-execution-update-acceptance.test.ts
- workflow-validation.test.ts
- antigravity-cli.test.ts
- attempt-classifier.test.ts
- codex-exec.test.ts
- cursor-agent-acceptance.test.ts
- cursor-agent.test.ts
- execute-agent-stress.test.ts
- execute-agent-verbose.test.ts
- execute-agent.test.ts
- gemini-cli.test.ts
- github-copilot-cli.test.ts
- mock-adapter.test.ts
- model-args.test.ts
- opencode-cli.test.ts
- pi-coding-agent.test.ts
- process-runner.test.ts
- provider-adapters.test.ts
- provider-health.test.ts
- registry.test.ts
- resolve-model.test.ts
- resolve-provider-selection.test.ts
- resolve-thinking-effort.test.ts
- retry-delay.test.ts
- retry-orchestrator.test.ts
- thinking-effort-support.test.ts
- timeout-handling.test.ts
- agent-fingerprint.test.ts
- call-cache.test.ts
- manifest.test.ts
- run-store.test.ts
- args.test.ts
- artifact-paths.test.ts
- doctor-artifact-root.test.ts
- doctor-model-support.test.ts
- dry-run-models.test.ts
- error-output.test.ts
- list-command.test.ts
- profile-options.test.ts
- profile-resolution.test.ts
- resume-command.test.ts
- resume-profile-behavior.test.ts
- run-command.test.ts
- run-input-profile.test.ts
- run-input.test.ts
- run-model-option.test.ts
- run-profile-precedence.test.ts
- run-thinking-effort-option.test.ts
- run-with-resume-profile.test.ts
- validate-command.test.ts
- validate-profile-options.test.ts
- load-config.test.ts
- merge-config.test.ts
- model-config.test.ts
- out-dir-config.test.ts
- path-config-legacy-compat.test.ts
- path-config-security.test.ts
- path-diagnostics.test.ts
- path-discovery.test.ts
- path-safety.test.ts
- profile-file.test.ts
- profile-schema.test.ts
- profiles.test.ts
- provider-alias-resolution.test.ts
- provider-alias-schema.test.ts
- provider-alias-yaml-duplicates.test.ts
- resolved-artifact.test.ts
- retry.test.ts
- schema.test.ts
- tools-config.test.ts
- artifacts.test.ts
- context-runtime-simplification-acceptance.test.ts
- json.test.ts
- path.test.ts
- profile-seed.test.ts
- runtime.test.ts
- agent-extractor.test.ts
- collect-files.test.ts
- compile-patterns.test.ts
- discovery-policy-precollection-acceptance.test.ts
- extract-definition-static-context.test.ts
- file-patterns.test.ts
- glob-engine.test.ts
- phase-1-acceptance.test.ts
- phase-3-acceptance.test.ts
- policy.test.ts
- precollect.test.ts
- service.test.ts
- static-values-regression.test.ts
- static-values.test.ts
- tool-extractor.test.ts
- workflow-extractor.test.ts
- artifact-root-health.test.ts
- exit-codes.test.ts
- list-errors.test.ts
- project-init-hint.test.ts
- serialize.test.ts
- artifacts.test.ts
- context.test.ts
- id.test.ts
- replay.test.ts
- results.test.ts
- run.test.ts
- validate.test.ts
- event-bus.test.ts
- scheduler-cancellation.test.ts
- scheduler-concurrency.test.ts
- scheduler-drain.test.ts
- scheduler-fail-fast.test.ts
- scheduler.test.ts
- context-reporting.test.ts
- failed-artifacts.test.ts
- json-reporter.test.ts
- jsonl-reporter.test.ts
- list-reporters.test.ts
- model-events.test.ts
- pretty-format.test.ts
- pretty-renderer-loop.test.ts
- pretty-renderer.test.ts
- pretty-reporter.test.ts
- pretty-view-builder-loop.test.ts
- pretty-view-builder.test.ts
- profile-reporters.test.ts
- provider-selection-diagnostics.test.ts
- provider-selection-events.test.ts
- tool-reporters.test.ts
- verbose-events.test.ts
- artifacts.test.ts
- concurrency.test.ts
- context-shared-agent.test.ts
- context.test.ts
- events.test.ts
- id.test.ts
- item-streaming.test.ts
- results.test.ts
- stage-barrier.test.ts
- stage-runner.test.ts
- summary.test.ts
- validate.test.ts
- config-validation.test.ts
- execution-orchestration.test.ts
- policy-resolution.test.ts
- dsl-agent-origin.test.ts
- dsl-agent.test.ts
- dsl-loop.test.ts
- dsl-parallel-array.test.ts
- dsl-parallel-object.test.ts
- dsl-phase-log.test.ts
- dsl-pipeline.test.ts
- dsl-shared-agent.test.ts
- dsl-tool.test.ts
- dsl-workflow.test.ts
- runtime-cancellation.test.ts
- runtime.test.ts
- workflow-call.test.ts
- workflow-context.test.ts
- workflow-invocation-manager.test.ts
- workflow-json.test.ts
- workflow-recursion.test.ts
- workflow-result.test.ts
- workflow-timeout.test.ts
- env.test.ts
- metadata.test.ts
- execute.test.ts
- load.test.ts
- registry.test.ts
- render.test.ts
- validate.test.ts
- extract-json.test.ts
- normalize-agent-output.test.ts
- validate-json.test.ts
- define-tool.test.ts
- executor.test.ts
- load.test.ts
- path-config-tool-security.test.ts
- registry.test.ts
- runtime-api.test.ts
- runtime-global-lock.test.ts
- runtime-globals.test.ts
- runtime-module-loader.test.ts
- runtime-package-shim.test.ts
- computed-access-repro.test.ts
- discovery.test.ts
- invocation-artifacts.test.ts
- load-workflow.test.ts
- parse-metadata.test.ts
- profile-runtime.test.ts
- registry.test.ts
- resolve-target.test.ts
- run-limits.test.ts
- runtime-loop-summary.test.ts
- tool-alias-hardening.test.ts
- tool-composition-validation.test.ts
- tool-input-validation.test.ts
- tool-runtime-hardening.test.ts
- tool-validation.test.ts
- validate-dependencies.test.ts
- validate-loop.test.ts
- validate-pipeline.test.ts
- validate-workflow.test.ts
- contracts.test.ts
- lock-helper.ts
- sanity.test.ts
- favicon.svg
- file.svg
- globe.svg
- window.svg
- CodeBlock.tsx
- DocsSidebar.tsx
- Layout.tsx
- GuidesPage.tsx
- HomePage.tsx
- ReferencePage.tsx
- globals.css
- App.tsx
- main.tsx
- index.html
- package-lock.json
- package.json
- tsconfig.json
- tsconfig.tsbuildinfo
- vite.config.ts
- .gitignore
- .npmrc
- AGENTS.md
- CHANGELOG.md
- CONTRIBUTING.md
- eslint.config.js
- LICENSE
- package-lock.json
- package.json
- README.md
- SECURITY.md
- tsconfig.json
- workflows.example.ts
# Installation Guide
1. Get the code
git clone https://github.com/travisliu/open-dynamic-workflow
Downloads the entire project code from GitHub to your computer.
cd open-dynamic-workflow
Moves into the project folder you just downloaded.
2. Node.js
Easy RecommendedPrerequisites
<img src="https://img.shields.io/npm/v/@travisliu/open-dynamic-workflow?logo=npm" alt="npm version" />
Type this command into your terminal and run it.
After running the command, open the address shown in the terminal (usually something like http://localhost:3000) in your browser.
Pulled directly from this repo's README.
// repository documentation
Was this content helpful?
(0 ratings)
