Agentflow

Agentflow is a provider-neutral CLI for coordinating coding agents around an approved goal. It keeps durable work and dependencies in Beads, validates handoffs before launch, and records evidence without treating chat transcripts as project state.

The Python distribution is named saintdle-agentflow; the product, repository, Python import package, and installed command are all named agentflow. The unqualified agentflow and agentflow-cli names on package indexes belong to unrelated projects.

Warning

The majority of this code was generated with AI coding agents. Multiple Codex, Claude, and GitHub Copilot agents produced and reviewed it while Agentflow was used to orchestrate its own development. That dogfooding is useful evidence, not a safety guarantee. Agentflow is currently suitable only for development and testing; do not rely on it for production, unattended privileged automation, or irreplaceable data. Review its plans, permissions, diffs, and backups as though untrusted automation may fail.

Important

Agentflow 0.0.4 is a public preview. Its commands, configuration schema, and compatibility guarantees may change before 1.0.

What it provides

  • A controller workflow built around goals, bounded assignments, claims, acceptance evidence, review, and integration.
  • Task-aware controller context budgets and transcript-free fresh-chat rotation, so long workflows resume from durable state instead of accumulating chat history.
  • Provider-neutral handoffs for Codex, Claude Code, and GitHub Copilot CLI.
  • Beads-backed durable coordination, including Git-backed and Gitless work.
  • Seven bundled generic workflow skills and four provider-role profiles for each supported coding-agent provider.
  • Project initialization that preserves existing agent instructions and hooks.
  • Config-driven discovery and installation of your own skills.
  • Optional observable external-agent sessions through Herdr.
  • Fail-closed preflight, model policy, imported-asset verification, and macOS-only hardened subprocess isolation.
  • A conditional prose-quality lane for Claude-authored reader content: free deterministic checks first, then at most one bounded edit through a configurable exact provider route when needed, with source preservation and domain validation. Luna-medium is the default, not a dependency.

Agentflow routes skills; it does not replace domain expertise. A repository's own skills and instructions remain authoritative.

See Conditional prose quality for controller-driven blog, documentation, and Instruqt examples.

How the components fit together

Agentflow is the coordination layer between a human-approved goal, durable Beads state, coding-agent providers, and the project being changed. Git and GitHub remain the source-of-truth integration boundary.

flowchart TB
Human["Human in IDE or terminal"] --> Chat["Codex, Claude, or Copilot chat"]
Chat --> AF["Agentflow CLI and root controller"]
AF <--> Beads["Beads<br/>goals, graph, claims, decisions, evidence"]
AF --> Preflight["Typed preflight<br/>base, policy, skills, scope, budget"]
Preflight --> Lane{"Execution lane"}
Lane --> Native["Native subagent"]
Lane --> Herdr["Herdr or tmux<br/>observable external session"]
Herdr --> Providers["Codex, Claude Code, or Copilot CLI"]
Native --> Work["Bounded workspace<br/>Git worktree or Gitless directory"]
Providers --> Work
Work --> Result["Structured result<br/>checks and acceptance evidence"]
Result --> AF
AF --> Git["Git and GitHub<br/>review, CI, PR, merge"]
Loading

The controller is the only component that owns root workflow authority. Worker sessions receive a task-scoped handoff and return evidence; they do not decide that the overall goal is complete. See the workflow guide and security model for the detailed lifecycle and trust boundaries.

Requirements

  • Python 3.10 or later.
  • Beads 1.1 or later and its bd CLI.
  • Git for Git-backed projects.
  • At least one supported coding-agent CLI for delegated work: Codex, Claude Code, or GitHub Copilot CLI.

Optional tools:

  • Herdr for observable external sessions.
  • GitHub CLI (gh) for GitHub issue and pull-request workflows.
  • tmux as a portable fallback for external sessions.

Provider subscriptions, credentials, usage allowances, and terms are managed by their respective providers. Agentflow does not supply or authenticate them.

Install

Ask a coding agent to do it

You can point a ChatGPT/Codex or Claude coding-agent chat at this repository and ask it to install and configure Agentflow. Copy the request in the agent-led setup contract. It tells the agent how to verify the package identity, preserve existing provider configuration, handle a legacy installation transactionally, initialize the current workspace, and report a rollback path.

For manual installation, continue below.

The cleanest installation uses an isolated Python tool environment:

uv tool install "git+https://github.com/saintdle/agentflow.git@v0.0.4"# or
pipx install "git+https://github.com/saintdle/agentflow.git@v0.0.4"

Until the repository is public, an authenticated GitHub checkout or Git credential helper is required. To install from a downloaded release wheel:

pipx install ./saintdle_agentflow-0.0.4-py3-none-any.whl

Verify the installation and prerequisites without exposing credentials:

agentflow --version
agentflow doctor

The wheel contains Agentflow's seven generic workflow skills and the controller, explorer, reviewer, and pull-request gatekeeper profiles for each supported provider. Preview and then install those bundled assets separately:

agentflow install --dry-run
agentflow install

Existing provider files are preserved for manual review.

For development and clean-build instructions, see Installation.

Quick start

Initialize Agentflow and Beads in an existing Git repository:

cd /path/to/project
agentflow init . --beads
agentflow beads status .
agentflow doctor

For a working directory that will not use Git:

mkdir my-work
cd my-work
agentflow init . --beads

Initialization creates only missing workflow files, preserves existing agent instructions and custom hooks, and keeps runtime state out of version control. The default Beads setup is local/stealth. Choose tracked or shared-server state only when that collaboration model is intentional.

Continue with the executable first workflow tutorial to create and approve a root/task graph, run the controller, handle a halt, and record completion evidence.

If you prefer to work entirely through a ChatGPT/Codex or Claude chat, use the chat-first workflow guide. It provides copy/paste prompts for planning without launch, explicit approval, autonomous persistent execution, reconnect-safe resume, read-only status, and bounded PR delivery.

For local optimization evidence, agentflow usage optimize --codeburn <report> reconciles CodeBurn JSON with Agentflow delivery records while keeping savings estimates explicitly advisory.

Bring your own skills

Bundled Agentflow workflow skills are installed by agentflow install. The commands below manage additional project or user domain skills without repackaging Agentflow.

Register a local skill source in project configuration, synchronize it, then check that Agentflow can resolve it:

agentflow skills add ./skills/my-domain-skill
agentflow skills sync
agentflow skills list
agentflow skills doctor

Skill sources may live inside the project or at an explicit external path. Project configuration is shareable when it uses repository-relative paths; machine-specific sources are stored in the ignored .agentflow/config.local.json layer. Synchronization never silently overwrites an unrelated installed skill. See Skill configuration for config examples, provider discovery locations, and team-safe setup patterns.

Platform support

PlatformCore CLIHardened isolation
macOSSupportedAvailable through sandbox-exec; probes fail closed
LinuxSupportedNot available in 0.0.4; requests fail closed
WindowsNot supported in 0.0.4Not available

Core coordination can run on macOS and Linux. Hardened isolation is a distinct, macOS-only security control; ordinary execution on Linux is not equivalent confinement. In 0.0.4, agentflow isolation launch provides synchronous hardened execution. Direct handoff and persistent Herdr/controller launches reject hardened profiles rather than treating a successful probe as confinement.

Documentation

Project status and releases

0.0.4 is intended for development/testing and feedback. Pull requests run validation and package-build checks. Merges to main build the CLI distribution artifacts; tagged releases are the versioned distribution boundary. See the changelog and release process.

Licence and trademarks

Agentflow is licensed under the Apache License 2.0. Third-party attributions are recorded in THIRD_PARTY_NOTICES.md and the detailed provenance inventory. Adapted skills also carry provenance and licence notices beside their code.

Agentflow is an independent project. It is not affiliated with or endorsed by OpenAI, Anthropic, GitHub, Microsoft, Beads, Herdr, or their owners. All product and company names are trademarks of their respective owners.

About

Provider-neutral workflow orchestration for coding agents

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Agentflow

Agentflow is a provider-neutral CLI for coordinating coding agents around an approved goal. It keeps durable work and dependencies in Beads, validates handoffs before launch, and records evidence without treating chat transcripts as project state.

The Python distribution is named saintdle-agentflow; the product, repository, Python import package, and installed command are all named agentflow. The unqualified agentflow and agentflow-cli names on package indexes belong to unrelated projects.

Warning

The majority of this code was generated with AI coding agents. Multiple Codex, Claude, and GitHub Copilot agents produced and reviewed it while Agentflow was used to orchestrate its own development. That dogfooding is useful evidence, not a safety guarantee. Agentflow is currently suitable only for development and testing; do not rely on it for production, unattended privileged automation, or irreplaceable data. Review its plans, permissions, diffs, and backups as though untrusted automation may fail.

Important

Agentflow 0.0.4 is a public preview. Its commands, configuration schema, and compatibility guarantees may change before 1.0.

What it provides

  • A controller workflow built around goals, bounded assignments, claims, acceptance evidence, review, and integration.
  • Task-aware controller context budgets and transcript-free fresh-chat rotation, so long workflows resume from durable state instead of accumulating chat history.
  • Provider-neutral handoffs for Codex, Claude Code, and GitHub Copilot CLI.
  • Beads-backed durable coordination, including Git-backed and Gitless work.
  • Seven bundled generic workflow skills and four provider-role profiles for each supported coding-agent provider.
  • Project initialization that preserves existing agent instructions and hooks.
  • Config-driven discovery and installation of your own skills.
  • Optional observable external-agent sessions through Herdr.
  • Fail-closed preflight, model policy, imported-asset verification, and macOS-only hardened subprocess isolation.
  • A conditional prose-quality lane for Claude-authored reader content: free deterministic checks first, then at most one bounded edit through a configurable exact provider route when needed, with source preservation and domain validation. Luna-medium is the default, not a dependency.

Agentflow routes skills; it does not replace domain expertise. A repository's own skills and instructions remain authoritative.

See Conditional prose quality for controller-driven blog, documentation, and Instruqt examples.

How the components fit together

Agentflow is the coordination layer between a human-approved goal, durable Beads state, coding-agent providers, and the project being changed. Git and GitHub remain the source-of-truth integration boundary.

flowchart TB
Human["Human in IDE or terminal"] --> Chat["Codex, Claude, or Copilot chat"]
Chat --> AF["Agentflow CLI and root controller"]
AF <--> Beads["Beads<br/>goals, graph, claims, decisions, evidence"]
AF --> Preflight["Typed preflight<br/>base, policy, skills, scope, budget"]
Preflight --> Lane{"Execution lane"}
Lane --> Native["Native subagent"]
Lane --> Herdr["Herdr or tmux<br/>observable external session"]
Herdr --> Providers["Codex, Claude Code, or Copilot CLI"]
Native --> Work["Bounded workspace<br/>Git worktree or Gitless directory"]
Providers --> Work
Work --> Result["Structured result<br/>checks and acceptance evidence"]
Result --> AF
AF --> Git["Git and GitHub<br/>review, CI, PR, merge"]
Loading

The controller is the only component that owns root workflow authority. Worker sessions receive a task-scoped handoff and return evidence; they do not decide that the overall goal is complete. See the workflow guide and security model for the detailed lifecycle and trust boundaries.

Requirements

  • Python 3.10 or later.
  • Beads 1.1 or later and its bd CLI.
  • Git for Git-backed projects.
  • At least one supported coding-agent CLI for delegated work: Codex, Claude Code, or GitHub Copilot CLI.

Optional tools:

  • Herdr for observable external sessions.
  • GitHub CLI (gh) for GitHub issue and pull-request workflows.
  • tmux as a portable fallback for external sessions.

Provider subscriptions, credentials, usage allowances, and terms are managed by their respective providers. Agentflow does not supply or authenticate them.

Install

Ask a coding agent to do it

You can point a ChatGPT/Codex or Claude coding-agent chat at this repository and ask it to install and configure Agentflow. Copy the request in the agent-led setup contract. It tells the agent how to verify the package identity, preserve existing provider configuration, handle a legacy installation transactionally, initialize the current workspace, and report a rollback path.

For manual installation, continue below.

The cleanest installation uses an isolated Python tool environment:

uv tool install "git+https://github.com/saintdle/agentflow.git@v0.0.4"# or
pipx install "git+https://github.com/saintdle/agentflow.git@v0.0.4"

Until the repository is public, an authenticated GitHub checkout or Git credential helper is required. To install from a downloaded release wheel:

pipx install ./saintdle_agentflow-0.0.4-py3-none-any.whl

Verify the installation and prerequisites without exposing credentials:

agentflow --version
agentflow doctor

The wheel contains Agentflow's seven generic workflow skills and the controller, explorer, reviewer, and pull-request gatekeeper profiles for each supported provider. Preview and then install those bundled assets separately:

agentflow install --dry-run
agentflow install

Existing provider files are preserved for manual review.

For development and clean-build instructions, see Installation.

Quick start

Initialize Agentflow and Beads in an existing Git repository:

cd /path/to/project
agentflow init . --beads
agentflow beads status .
agentflow doctor

For a working directory that will not use Git:

mkdir my-work
cd my-work
agentflow init . --beads

Initialization creates only missing workflow files, preserves existing agent instructions and custom hooks, and keeps runtime state out of version control. The default Beads setup is local/stealth. Choose tracked or shared-server state only when that collaboration model is intentional.

Continue with the executable first workflow tutorial to create and approve a root/task graph, run the controller, handle a halt, and record completion evidence.

If you prefer to work entirely through a ChatGPT/Codex or Claude chat, use the chat-first workflow guide. It provides copy/paste prompts for planning without launch, explicit approval, autonomous persistent execution, reconnect-safe resume, read-only status, and bounded PR delivery.

For local optimization evidence, agentflow usage optimize --codeburn <report> reconciles CodeBurn JSON with Agentflow delivery records while keeping savings estimates explicitly advisory.

Bring your own skills

Bundled Agentflow workflow skills are installed by agentflow install. The commands below manage additional project or user domain skills without repackaging Agentflow.

Register a local skill source in project configuration, synchronize it, then check that Agentflow can resolve it:

agentflow skills add ./skills/my-domain-skill
agentflow skills sync
agentflow skills list
agentflow skills doctor

Skill sources may live inside the project or at an explicit external path. Project configuration is shareable when it uses repository-relative paths; machine-specific sources are stored in the ignored .agentflow/config.local.json layer. Synchronization never silently overwrites an unrelated installed skill. See Skill configuration for config examples, provider discovery locations, and team-safe setup patterns.

Platform support

PlatformCore CLIHardened isolation
macOSSupportedAvailable through sandbox-exec; probes fail closed
LinuxSupportedNot available in 0.0.4; requests fail closed
WindowsNot supported in 0.0.4Not available

Core coordination can run on macOS and Linux. Hardened isolation is a distinct, macOS-only security control; ordinary execution on Linux is not equivalent confinement. In 0.0.4, agentflow isolation launch provides synchronous hardened execution. Direct handoff and persistent Herdr/controller launches reject hardened profiles rather than treating a successful probe as confinement.

Documentation

Project status and releases

0.0.4 is intended for development/testing and feedback. Pull requests run validation and package-build checks. Merges to main build the CLI distribution artifacts; tagged releases are the versioned distribution boundary. See the changelog and release process.

Licence and trademarks

Agentflow is licensed under the Apache License 2.0. Third-party attributions are recorded in THIRD_PARTY_NOTICES.md and the detailed provenance inventory. Adapted skills also carry provenance and licence notices beside their code.

Agentflow is an independent project. It is not affiliated with or endorsed by OpenAI, Anthropic, GitHub, Microsoft, Beads, Herdr, or their owners. All product and company names are trademarks of their respective owners.

About

Provider-neutral workflow orchestration for coding agents

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Agentflow

Agentflow is a provider-neutral CLI for coordinating coding agents around an approved goal. It keeps durable work and dependencies in Beads, validates handoffs before launch, and records evidence without treating chat transcripts as project state.

The Python distribution is named saintdle-agentflow; the product, repository, Python import package, and installed command are all named agentflow. The unqualified agentflow and agentflow-cli names on package indexes belong to unrelated projects.

Warning

The majority of this code was generated with AI coding agents. Multiple Codex, Claude, and GitHub Copilot agents produced and reviewed it while Agentflow was used to orchestrate its own development. That dogfooding is useful evidence, not a safety guarantee. Agentflow is currently suitable only for development and testing; do not rely on it for production, unattended privileged automation, or irreplaceable data. Review its plans, permissions, diffs, and backups as though untrusted automation may fail.

Important

Agentflow 0.0.4 is a public preview. Its commands, configuration schema, and compatibility guarantees may change before 1.0.

What it provides

  • A controller workflow built around goals, bounded assignments, claims, acceptance evidence, review, and integration.
  • Task-aware controller context budgets and transcript-free fresh-chat rotation, so long workflows resume from durable state instead of accumulating chat history.
  • Provider-neutral handoffs for Codex, Claude Code, and GitHub Copilot CLI.
  • Beads-backed durable coordination, including Git-backed and Gitless work.
  • Seven bundled generic workflow skills and four provider-role profiles for each supported coding-agent provider.
  • Project initialization that preserves existing agent instructions and hooks.
  • Config-driven discovery and installation of your own skills.
  • Optional observable external-agent sessions through Herdr.
  • Fail-closed preflight, model policy, imported-asset verification, and macOS-only hardened subprocess isolation.
  • A conditional prose-quality lane for Claude-authored reader content: free deterministic checks first, then at most one bounded edit through a configurable exact provider route when needed, with source preservation and domain validation. Luna-medium is the default, not a dependency.

Agentflow routes skills; it does not replace domain expertise. A repository's own skills and instructions remain authoritative.

See Conditional prose quality for controller-driven blog, documentation, and Instruqt examples.

How the components fit together

Agentflow is the coordination layer between a human-approved goal, durable Beads state, coding-agent providers, and the project being changed. Git and GitHub remain the source-of-truth integration boundary.

flowchart TB
Human["Human in IDE or terminal"] --> Chat["Codex, Claude, or Copilot chat"]
Chat --> AF["Agentflow CLI and root controller"]
AF <--> Beads["Beads<br/>goals, graph, claims, decisions, evidence"]
AF --> Preflight["Typed preflight<br/>base, policy, skills, scope, budget"]
Preflight --> Lane{"Execution lane"}
Lane --> Native["Native subagent"]
Lane --> Herdr["Herdr or tmux<br/>observable external session"]
Herdr --> Providers["Codex, Claude Code, or Copilot CLI"]
Native --> Work["Bounded workspace<br/>Git worktree or Gitless directory"]
Providers --> Work
Work --> Result["Structured result<br/>checks and acceptance evidence"]
Result --> AF
AF --> Git["Git and GitHub<br/>review, CI, PR, merge"]
Loading

The controller is the only component that owns root workflow authority. Worker sessions receive a task-scoped handoff and return evidence; they do not decide that the overall goal is complete. See the workflow guide and security model for the detailed lifecycle and trust boundaries.

Requirements

  • Python 3.10 or later.
  • Beads 1.1 or later and its bd CLI.
  • Git for Git-backed projects.
  • At least one supported coding-agent CLI for delegated work: Codex, Claude Code, or GitHub Copilot CLI.

Optional tools:

  • Herdr for observable external sessions.
  • GitHub CLI (gh) for GitHub issue and pull-request workflows.
  • tmux as a portable fallback for external sessions.

Provider subscriptions, credentials, usage allowances, and terms are managed by their respective providers. Agentflow does not supply or authenticate them.

Install

Ask a coding agent to do it

You can point a ChatGPT/Codex or Claude coding-agent chat at this repository and ask it to install and configure Agentflow. Copy the request in the agent-led setup contract. It tells the agent how to verify the package identity, preserve existing provider configuration, handle a legacy installation transactionally, initialize the current workspace, and report a rollback path.

For manual installation, continue below.

The cleanest installation uses an isolated Python tool environment:

uv tool install "git+https://github.com/saintdle/agentflow.git@v0.0.4"# or
pipx install "git+https://github.com/saintdle/agentflow.git@v0.0.4"

Until the repository is public, an authenticated GitHub checkout or Git credential helper is required. To install from a downloaded release wheel:

pipx install ./saintdle_agentflow-0.0.4-py3-none-any.whl

Verify the installation and prerequisites without exposing credentials:

agentflow --version
agentflow doctor

The wheel contains Agentflow's seven generic workflow skills and the controller, explorer, reviewer, and pull-request gatekeeper profiles for each supported provider. Preview and then install those bundled assets separately:

agentflow install --dry-run
agentflow install

Existing provider files are preserved for manual review.

For development and clean-build instructions, see Installation.

Quick start

Initialize Agentflow and Beads in an existing Git repository:

cd /path/to/project
agentflow init . --beads
agentflow beads status .
agentflow doctor

For a working directory that will not use Git:

mkdir my-work
cd my-work
agentflow init . --beads

Initialization creates only missing workflow files, preserves existing agent instructions and custom hooks, and keeps runtime state out of version control. The default Beads setup is local/stealth. Choose tracked or shared-server state only when that collaboration model is intentional.

Continue with the executable first workflow tutorial to create and approve a root/task graph, run the controller, handle a halt, and record completion evidence.

If you prefer to work entirely through a ChatGPT/Codex or Claude chat, use the chat-first workflow guide. It provides copy/paste prompts for planning without launch, explicit approval, autonomous persistent execution, reconnect-safe resume, read-only status, and bounded PR delivery.

For local optimization evidence, agentflow usage optimize --codeburn <report> reconciles CodeBurn JSON with Agentflow delivery records while keeping savings estimates explicitly advisory.

Bring your own skills

Bundled Agentflow workflow skills are installed by agentflow install. The commands below manage additional project or user domain skills without repackaging Agentflow.

Register a local skill source in project configuration, synchronize it, then check that Agentflow can resolve it:

agentflow skills add ./skills/my-domain-skill
agentflow skills sync
agentflow skills list
agentflow skills doctor

Skill sources may live inside the project or at an explicit external path. Project configuration is shareable when it uses repository-relative paths; machine-specific sources are stored in the ignored .agentflow/config.local.json layer. Synchronization never silently overwrites an unrelated installed skill. See Skill configuration for config examples, provider discovery locations, and team-safe setup patterns.

Platform support

PlatformCore CLIHardened isolation
macOSSupportedAvailable through sandbox-exec; probes fail closed
LinuxSupportedNot available in 0.0.4; requests fail closed
WindowsNot supported in 0.0.4Not available

Core coordination can run on macOS and Linux. Hardened isolation is a distinct, macOS-only security control; ordinary execution on Linux is not equivalent confinement. In 0.0.4, agentflow isolation launch provides synchronous hardened execution. Direct handoff and persistent Herdr/controller launches reject hardened profiles rather than treating a successful probe as confinement.

Documentation

Project status and releases

0.0.4 is intended for development/testing and feedback. Pull requests run validation and package-build checks. Merges to main build the CLI distribution artifacts; tagged releases are the versioned distribution boundary. See the changelog and release process.

Licence and trademarks

Agentflow is licensed under the Apache License 2.0. Third-party attributions are recorded in THIRD_PARTY_NOTICES.md and the detailed provenance inventory. Adapted skills also carry provenance and licence notices beside their code.

Agentflow is an independent project. It is not affiliated with or endorsed by OpenAI, Anthropic, GitHub, Microsoft, Beads, Herdr, or their owners. All product and company names are trademarks of their respective owners.

About

Provider-neutral workflow orchestration for coding agents

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Agentflow

Agentflow is a provider-neutral CLI for coordinating coding agents around an approved goal. It keeps durable work and dependencies in Beads, validates handoffs before launch, and records evidence without treating chat transcripts as project state.

The Python distribution is named saintdle-agentflow; the product, repository, Python import package, and installed command are all named agentflow. The unqualified agentflow and agentflow-cli names on package indexes belong to unrelated projects.

Warning

The majority of this code was generated with AI coding agents. Multiple Codex, Claude, and GitHub Copilot agents produced and reviewed it while Agentflow was used to orchestrate its own development. That dogfooding is useful evidence, not a safety guarantee. Agentflow is currently suitable only for development and testing; do not rely on it for production, unattended privileged automation, or irreplaceable data. Review its plans, permissions, diffs, and backups as though untrusted automation may fail.

Important

Agentflow 0.0.4 is a public preview. Its commands, configuration schema, and compatibility guarantees may change before 1.0.

What it provides

  • A controller workflow built around goals, bounded assignments, claims, acceptance evidence, review, and integration.
  • Task-aware controller context budgets and transcript-free fresh-chat rotation, so long workflows resume from durable state instead of accumulating chat history.
  • Provider-neutral handoffs for Codex, Claude Code, and GitHub Copilot CLI.
  • Beads-backed durable coordination, including Git-backed and Gitless work.
  • Seven bundled generic workflow skills and four provider-role profiles for each supported coding-agent provider.
  • Project initialization that preserves existing agent instructions and hooks.
  • Config-driven discovery and installation of your own skills.
  • Optional observable external-agent sessions through Herdr.
  • Fail-closed preflight, model policy, imported-asset verification, and macOS-only hardened subprocess isolation.
  • A conditional prose-quality lane for Claude-authored reader content: free deterministic checks first, then at most one bounded edit through a configurable exact provider route when needed, with source preservation and domain validation. Luna-medium is the default, not a dependency.

Agentflow routes skills; it does not replace domain expertise. A repository's own skills and instructions remain authoritative.

See Conditional prose quality for controller-driven blog, documentation, and Instruqt examples.

How the components fit together

Agentflow is the coordination layer between a human-approved goal, durable Beads state, coding-agent providers, and the project being changed. Git and GitHub remain the source-of-truth integration boundary.

flowchart TB
Human["Human in IDE or terminal"] --> Chat["Codex, Claude, or Copilot chat"]
Chat --> AF["Agentflow CLI and root controller"]
AF <--> Beads["Beads<br/>goals, graph, claims, decisions, evidence"]
AF --> Preflight["Typed preflight<br/>base, policy, skills, scope, budget"]
Preflight --> Lane{"Execution lane"}
Lane --> Native["Native subagent"]
Lane --> Herdr["Herdr or tmux<br/>observable external session"]
Herdr --> Providers["Codex, Claude Code, or Copilot CLI"]
Native --> Work["Bounded workspace<br/>Git worktree or Gitless directory"]
Providers --> Work
Work --> Result["Structured result<br/>checks and acceptance evidence"]
Result --> AF
AF --> Git["Git and GitHub<br/>review, CI, PR, merge"]
Loading

The controller is the only component that owns root workflow authority. Worker sessions receive a task-scoped handoff and return evidence; they do not decide that the overall goal is complete. See the workflow guide and security model for the detailed lifecycle and trust boundaries.

Requirements

  • Python 3.10 or later.
  • Beads 1.1 or later and its bd CLI.
  • Git for Git-backed projects.
  • At least one supported coding-agent CLI for delegated work: Codex, Claude Code, or GitHub Copilot CLI.

Optional tools:

  • Herdr for observable external sessions.
  • GitHub CLI (gh) for GitHub issue and pull-request workflows.
  • tmux as a portable fallback for external sessions.

Provider subscriptions, credentials, usage allowances, and terms are managed by their respective providers. Agentflow does not supply or authenticate them.

Install

Ask a coding agent to do it

You can point a ChatGPT/Codex or Claude coding-agent chat at this repository and ask it to install and configure Agentflow. Copy the request in the agent-led setup contract. It tells the agent how to verify the package identity, preserve existing provider configuration, handle a legacy installation transactionally, initialize the current workspace, and report a rollback path.

For manual installation, continue below.

The cleanest installation uses an isolated Python tool environment:

uv tool install "git+https://github.com/saintdle/agentflow.git@v0.0.4"# or
pipx install "git+https://github.com/saintdle/agentflow.git@v0.0.4"

Until the repository is public, an authenticated GitHub checkout or Git credential helper is required. To install from a downloaded release wheel:

pipx install ./saintdle_agentflow-0.0.4-py3-none-any.whl

Verify the installation and prerequisites without exposing credentials:

agentflow --version
agentflow doctor

The wheel contains Agentflow's seven generic workflow skills and the controller, explorer, reviewer, and pull-request gatekeeper profiles for each supported provider. Preview and then install those bundled assets separately:

agentflow install --dry-run
agentflow install

Existing provider files are preserved for manual review.

For development and clean-build instructions, see Installation.

Quick start

Initialize Agentflow and Beads in an existing Git repository:

cd /path/to/project
agentflow init . --beads
agentflow beads status .
agentflow doctor

For a working directory that will not use Git:

mkdir my-work
cd my-work
agentflow init . --beads

Initialization creates only missing workflow files, preserves existing agent instructions and custom hooks, and keeps runtime state out of version control. The default Beads setup is local/stealth. Choose tracked or shared-server state only when that collaboration model is intentional.

Continue with the executable first workflow tutorial to create and approve a root/task graph, run the controller, handle a halt, and record completion evidence.

If you prefer to work entirely through a ChatGPT/Codex or Claude chat, use the chat-first workflow guide. It provides copy/paste prompts for planning without launch, explicit approval, autonomous persistent execution, reconnect-safe resume, read-only status, and bounded PR delivery.

For local optimization evidence, agentflow usage optimize --codeburn <report> reconciles CodeBurn JSON with Agentflow delivery records while keeping savings estimates explicitly advisory.

Bring your own skills

Bundled Agentflow workflow skills are installed by agentflow install. The commands below manage additional project or user domain skills without repackaging Agentflow.

Register a local skill source in project configuration, synchronize it, then check that Agentflow can resolve it:

agentflow skills add ./skills/my-domain-skill
agentflow skills sync
agentflow skills list
agentflow skills doctor

Skill sources may live inside the project or at an explicit external path. Project configuration is shareable when it uses repository-relative paths; machine-specific sources are stored in the ignored .agentflow/config.local.json layer. Synchronization never silently overwrites an unrelated installed skill. See Skill configuration for config examples, provider discovery locations, and team-safe setup patterns.

Platform support

PlatformCore CLIHardened isolation
macOSSupportedAvailable through sandbox-exec; probes fail closed
LinuxSupportedNot available in 0.0.4; requests fail closed
WindowsNot supported in 0.0.4Not available

Core coordination can run on macOS and Linux. Hardened isolation is a distinct, macOS-only security control; ordinary execution on Linux is not equivalent confinement. In 0.0.4, agentflow isolation launch provides synchronous hardened execution. Direct handoff and persistent Herdr/controller launches reject hardened profiles rather than treating a successful probe as confinement.

Documentation

Project status and releases

0.0.4 is intended for development/testing and feedback. Pull requests run validation and package-build checks. Merges to main build the CLI distribution artifacts; tagged releases are the versioned distribution boundary. See the changelog and release process.

Licence and trademarks

Agentflow is licensed under the Apache License 2.0. Third-party attributions are recorded in THIRD_PARTY_NOTICES.md and the detailed provenance inventory. Adapted skills also carry provenance and licence notices beside their code.

Agentflow is an independent project. It is not affiliated with or endorsed by OpenAI, Anthropic, GitHub, Microsoft, Beads, Herdr, or their owners. All product and company names are trademarks of their respective owners.

About

Provider-neutral workflow orchestration for coding agents

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Agentflow

Agentflow is a provider-neutral CLI for coordinating coding agents around an approved goal. It keeps durable work and dependencies in Beads, validates handoffs before launch, and records evidence without treating chat transcripts as project state.

The Python distribution is named saintdle-agentflow; the product, repository, Python import package, and installed command are all named agentflow. The unqualified agentflow and agentflow-cli names on package indexes belong to unrelated projects.

Warning

The majority of this code was generated with AI coding agents. Multiple Codex, Claude, and GitHub Copilot agents produced and reviewed it while Agentflow was used to orchestrate its own development. That dogfooding is useful evidence, not a safety guarantee. Agentflow is currently suitable only for development and testing; do not rely on it for production, unattended privileged automation, or irreplaceable data. Review its plans, permissions, diffs, and backups as though untrusted automation may fail.

Important

Agentflow 0.0.4 is a public preview. Its commands, configuration schema, and compatibility guarantees may change before 1.0.

What it provides

  • A controller workflow built around goals, bounded assignments, claims, acceptance evidence, review, and integration.
  • Task-aware controller context budgets and transcript-free fresh-chat rotation, so long workflows resume from durable state instead of accumulating chat history.
  • Provider-neutral handoffs for Codex, Claude Code, and GitHub Copilot CLI.
  • Beads-backed durable coordination, including Git-backed and Gitless work.
  • Seven bundled generic workflow skills and four provider-role profiles for each supported coding-agent provider.
  • Project initialization that preserves existing agent instructions and hooks.
  • Config-driven discovery and installation of your own skills.
  • Optional observable external-agent sessions through Herdr.
  • Fail-closed preflight, model policy, imported-asset verification, and macOS-only hardened subprocess isolation.
  • A conditional prose-quality lane for Claude-authored reader content: free deterministic checks first, then at most one bounded edit through a configurable exact provider route when needed, with source preservation and domain validation. Luna-medium is the default, not a dependency.

Agentflow routes skills; it does not replace domain expertise. A repository's own skills and instructions remain authoritative.

See Conditional prose quality for controller-driven blog, documentation, and Instruqt examples.

How the components fit together

Agentflow is the coordination layer between a human-approved goal, durable Beads state, coding-agent providers, and the project being changed. Git and GitHub remain the source-of-truth integration boundary.

flowchart TB
Human["Human in IDE or terminal"] --> Chat["Codex, Claude, or Copilot chat"]
Chat --> AF["Agentflow CLI and root controller"]
AF <--> Beads["Beads<br/>goals, graph, claims, decisions, evidence"]
AF --> Preflight["Typed preflight<br/>base, policy, skills, scope, budget"]
Preflight --> Lane{"Execution lane"}
Lane --> Native["Native subagent"]
Lane --> Herdr["Herdr or tmux<br/>observable external session"]
Herdr --> Providers["Codex, Claude Code, or Copilot CLI"]
Native --> Work["Bounded workspace<br/>Git worktree or Gitless directory"]
Providers --> Work
Work --> Result["Structured result<br/>checks and acceptance evidence"]
Result --> AF
AF --> Git["Git and GitHub<br/>review, CI, PR, merge"]
Loading

The controller is the only component that owns root workflow authority. Worker sessions receive a task-scoped handoff and return evidence; they do not decide that the overall goal is complete. See the workflow guide and security model for the detailed lifecycle and trust boundaries.

Requirements

  • Python 3.10 or later.
  • Beads 1.1 or later and its bd CLI.
  • Git for Git-backed projects.
  • At least one supported coding-agent CLI for delegated work: Codex, Claude Code, or GitHub Copilot CLI.

Optional tools:

  • Herdr for observable external sessions.
  • GitHub CLI (gh) for GitHub issue and pull-request workflows.
  • tmux as a portable fallback for external sessions.

Provider subscriptions, credentials, usage allowances, and terms are managed by their respective providers. Agentflow does not supply or authenticate them.

Install

Ask a coding agent to do it

You can point a ChatGPT/Codex or Claude coding-agent chat at this repository and ask it to install and configure Agentflow. Copy the request in the agent-led setup contract. It tells the agent how to verify the package identity, preserve existing provider configuration, handle a legacy installation transactionally, initialize the current workspace, and report a rollback path.

For manual installation, continue below.

The cleanest installation uses an isolated Python tool environment:

uv tool install "git+https://github.com/saintdle/agentflow.git@v0.0.4"# or
pipx install "git+https://github.com/saintdle/agentflow.git@v0.0.4"

Until the repository is public, an authenticated GitHub checkout or Git credential helper is required. To install from a downloaded release wheel:

pipx install ./saintdle_agentflow-0.0.4-py3-none-any.whl

Verify the installation and prerequisites without exposing credentials:

agentflow --version
agentflow doctor

The wheel contains Agentflow's seven generic workflow skills and the controller, explorer, reviewer, and pull-request gatekeeper profiles for each supported provider. Preview and then install those bundled assets separately:

agentflow install --dry-run
agentflow install

Existing provider files are preserved for manual review.

For development and clean-build instructions, see Installation.

Quick start

Initialize Agentflow and Beads in an existing Git repository:

cd /path/to/project
agentflow init . --beads
agentflow beads status .
agentflow doctor

For a working directory that will not use Git:

mkdir my-work
cd my-work
agentflow init . --beads

Initialization creates only missing workflow files, preserves existing agent instructions and custom hooks, and keeps runtime state out of version control. The default Beads setup is local/stealth. Choose tracked or shared-server state only when that collaboration model is intentional.

Continue with the executable first workflow tutorial to create and approve a root/task graph, run the controller, handle a halt, and record completion evidence.

If you prefer to work entirely through a ChatGPT/Codex or Claude chat, use the chat-first workflow guide. It provides copy/paste prompts for planning without launch, explicit approval, autonomous persistent execution, reconnect-safe resume, read-only status, and bounded PR delivery.

For local optimization evidence, agentflow usage optimize --codeburn <report> reconciles CodeBurn JSON with Agentflow delivery records while keeping savings estimates explicitly advisory.

Bring your own skills

Bundled Agentflow workflow skills are installed by agentflow install. The commands below manage additional project or user domain skills without repackaging Agentflow.

Register a local skill source in project configuration, synchronize it, then check that Agentflow can resolve it:

agentflow skills add ./skills/my-domain-skill
agentflow skills sync
agentflow skills list
agentflow skills doctor

Skill sources may live inside the project or at an explicit external path. Project configuration is shareable when it uses repository-relative paths; machine-specific sources are stored in the ignored .agentflow/config.local.json layer. Synchronization never silently overwrites an unrelated installed skill. See Skill configuration for config examples, provider discovery locations, and team-safe setup patterns.

Platform support

PlatformCore CLIHardened isolation
macOSSupportedAvailable through sandbox-exec; probes fail closed
LinuxSupportedNot available in 0.0.4; requests fail closed
WindowsNot supported in 0.0.4Not available

Core coordination can run on macOS and Linux. Hardened isolation is a distinct, macOS-only security control; ordinary execution on Linux is not equivalent confinement. In 0.0.4, agentflow isolation launch provides synchronous hardened execution. Direct handoff and persistent Herdr/controller launches reject hardened profiles rather than treating a successful probe as confinement.

Documentation

Project status and releases

0.0.4 is intended for development/testing and feedback. Pull requests run validation and package-build checks. Merges to main build the CLI distribution artifacts; tagged releases are the versioned distribution boundary. See the changelog and release process.

Licence and trademarks

Agentflow is licensed under the Apache License 2.0. Third-party attributions are recorded in THIRD_PARTY_NOTICES.md and the detailed provenance inventory. Adapted skills also carry provenance and licence notices beside their code.

Agentflow is an independent project. It is not affiliated with or endorsed by OpenAI, Anthropic, GitHub, Microsoft, Beads, Herdr, or their owners. All product and company names are trademarks of their respective owners.

About

Provider-neutral workflow orchestration for coding agents

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Agentflow

Agentflow is a provider-neutral CLI for coordinating coding agents around an approved goal. It keeps durable work and dependencies in Beads, validates handoffs before launch, and records evidence without treating chat transcripts as project state.

The Python distribution is named saintdle-agentflow; the product, repository, Python import package, and installed command are all named agentflow. The unqualified agentflow and agentflow-cli names on package indexes belong to unrelated projects.

Warning

The majority of this code was generated with AI coding agents. Multiple Codex, Claude, and GitHub Copilot agents produced and reviewed it while Agentflow was used to orchestrate its own development. That dogfooding is useful evidence, not a safety guarantee. Agentflow is currently suitable only for development and testing; do not rely on it for production, unattended privileged automation, or irreplaceable data. Review its plans, permissions, diffs, and backups as though untrusted automation may fail.

Important

Agentflow 0.0.4 is a public preview. Its commands, configuration schema, and compatibility guarantees may change before 1.0.

What it provides

  • A controller workflow built around goals, bounded assignments, claims, acceptance evidence, review, and integration.
  • Task-aware controller context budgets and transcript-free fresh-chat rotation, so long workflows resume from durable state instead of accumulating chat history.
  • Provider-neutral handoffs for Codex, Claude Code, and GitHub Copilot CLI.
  • Beads-backed durable coordination, including Git-backed and Gitless work.
  • Seven bundled generic workflow skills and four provider-role profiles for each supported coding-agent provider.
  • Project initialization that preserves existing agent instructions and hooks.
  • Config-driven discovery and installation of your own skills.
  • Optional observable external-agent sessions through Herdr.
  • Fail-closed preflight, model policy, imported-asset verification, and macOS-only hardened subprocess isolation.
  • A conditional prose-quality lane for Claude-authored reader content: free deterministic checks first, then at most one bounded edit through a configurable exact provider route when needed, with source preservation and domain validation. Luna-medium is the default, not a dependency.

Agentflow routes skills; it does not replace domain expertise. A repository's own skills and instructions remain authoritative.

See Conditional prose quality for controller-driven blog, documentation, and Instruqt examples.

How the components fit together

Agentflow is the coordination layer between a human-approved goal, durable Beads state, coding-agent providers, and the project being changed. Git and GitHub remain the source-of-truth integration boundary.

flowchart TB
Human["Human in IDE or terminal"] --> Chat["Codex, Claude, or Copilot chat"]
Chat --> AF["Agentflow CLI and root controller"]
AF <--> Beads["Beads<br/>goals, graph, claims, decisions, evidence"]
AF --> Preflight["Typed preflight<br/>base, policy, skills, scope, budget"]
Preflight --> Lane{"Execution lane"}
Lane --> Native["Native subagent"]
Lane --> Herdr["Herdr or tmux<br/>observable external session"]
Herdr --> Providers["Codex, Claude Code, or Copilot CLI"]
Native --> Work["Bounded workspace<br/>Git worktree or Gitless directory"]
Providers --> Work
Work --> Result["Structured result<br/>checks and acceptance evidence"]
Result --> AF
AF --> Git["Git and GitHub<br/>review, CI, PR, merge"]
Loading

The controller is the only component that owns root workflow authority. Worker sessions receive a task-scoped handoff and return evidence; they do not decide that the overall goal is complete. See the workflow guide and security model for the detailed lifecycle and trust boundaries.

Requirements

  • Python 3.10 or later.
  • Beads 1.1 or later and its bd CLI.
  • Git for Git-backed projects.
  • At least one supported coding-agent CLI for delegated work: Codex, Claude Code, or GitHub Copilot CLI.

Optional tools:

  • Herdr for observable external sessions.
  • GitHub CLI (gh) for GitHub issue and pull-request workflows.
  • tmux as a portable fallback for external sessions.

Provider subscriptions, credentials, usage allowances, and terms are managed by their respective providers. Agentflow does not supply or authenticate them.

Install

Ask a coding agent to do it

You can point a ChatGPT/Codex or Claude coding-agent chat at this repository and ask it to install and configure Agentflow. Copy the request in the agent-led setup contract. It tells the agent how to verify the package identity, preserve existing provider configuration, handle a legacy installation transactionally, initialize the current workspace, and report a rollback path.

For manual installation, continue below.

The cleanest installation uses an isolated Python tool environment:

uv tool install "git+https://github.com/saintdle/agentflow.git@v0.0.4"# or
pipx install "git+https://github.com/saintdle/agentflow.git@v0.0.4"

Until the repository is public, an authenticated GitHub checkout or Git credential helper is required. To install from a downloaded release wheel:

pipx install ./saintdle_agentflow-0.0.4-py3-none-any.whl

Verify the installation and prerequisites without exposing credentials:

agentflow --version
agentflow doctor

The wheel contains Agentflow's seven generic workflow skills and the controller, explorer, reviewer, and pull-request gatekeeper profiles for each supported provider. Preview and then install those bundled assets separately:

agentflow install --dry-run
agentflow install

Existing provider files are preserved for manual review.

For development and clean-build instructions, see Installation.

Quick start

Initialize Agentflow and Beads in an existing Git repository:

cd /path/to/project
agentflow init . --beads
agentflow beads status .
agentflow doctor

For a working directory that will not use Git:

mkdir my-work
cd my-work
agentflow init . --beads

Initialization creates only missing workflow files, preserves existing agent instructions and custom hooks, and keeps runtime state out of version control. The default Beads setup is local/stealth. Choose tracked or shared-server state only when that collaboration model is intentional.

Continue with the executable first workflow tutorial to create and approve a root/task graph, run the controller, handle a halt, and record completion evidence.

If you prefer to work entirely through a ChatGPT/Codex or Claude chat, use the chat-first workflow guide. It provides copy/paste prompts for planning without launch, explicit approval, autonomous persistent execution, reconnect-safe resume, read-only status, and bounded PR delivery.

For local optimization evidence, agentflow usage optimize --codeburn <report> reconciles CodeBurn JSON with Agentflow delivery records while keeping savings estimates explicitly advisory.

Bring your own skills

Bundled Agentflow workflow skills are installed by agentflow install. The commands below manage additional project or user domain skills without repackaging Agentflow.

Register a local skill source in project configuration, synchronize it, then check that Agentflow can resolve it:

agentflow skills add ./skills/my-domain-skill
agentflow skills sync
agentflow skills list
agentflow skills doctor

Skill sources may live inside the project or at an explicit external path. Project configuration is shareable when it uses repository-relative paths; machine-specific sources are stored in the ignored .agentflow/config.local.json layer. Synchronization never silently overwrites an unrelated installed skill. See Skill configuration for config examples, provider discovery locations, and team-safe setup patterns.

Platform support

PlatformCore CLIHardened isolation
macOSSupportedAvailable through sandbox-exec; probes fail closed
LinuxSupportedNot available in 0.0.4; requests fail closed
WindowsNot supported in 0.0.4Not available

Core coordination can run on macOS and Linux. Hardened isolation is a distinct, macOS-only security control; ordinary execution on Linux is not equivalent confinement. In 0.0.4, agentflow isolation launch provides synchronous hardened execution. Direct handoff and persistent Herdr/controller launches reject hardened profiles rather than treating a successful probe as confinement.

Documentation

Project status and releases

0.0.4 is intended for development/testing and feedback. Pull requests run validation and package-build checks. Merges to main build the CLI distribution artifacts; tagged releases are the versioned distribution boundary. See the changelog and release process.

Licence and trademarks

Agentflow is licensed under the Apache License 2.0. Third-party attributions are recorded in THIRD_PARTY_NOTICES.md and the detailed provenance inventory. Adapted skills also carry provenance and licence notices beside their code.

Agentflow is an independent project. It is not affiliated with or endorsed by OpenAI, Anthropic, GitHub, Microsoft, Beads, Herdr, or their owners. All product and company names are trademarks of their respective owners.

About

Provider-neutral workflow orchestration for coding agents

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Agentflow

Agentflow is a provider-neutral CLI for coordinating coding agents around an approved goal. It keeps durable work and dependencies in Beads, validates handoffs before launch, and records evidence without treating chat transcripts as project state.

The Python distribution is named saintdle-agentflow; the product, repository, Python import package, and installed command are all named agentflow. The unqualified agentflow and agentflow-cli names on package indexes belong to unrelated projects.

Warning

The majority of this code was generated with AI coding agents. Multiple Codex, Claude, and GitHub Copilot agents produced and reviewed it while Agentflow was used to orchestrate its own development. That dogfooding is useful evidence, not a safety guarantee. Agentflow is currently suitable only for development and testing; do not rely on it for production, unattended privileged automation, or irreplaceable data. Review its plans, permissions, diffs, and backups as though untrusted automation may fail.

Important

Agentflow 0.0.4 is a public preview. Its commands, configuration schema, and compatibility guarantees may change before 1.0.

What it provides

  • A controller workflow built around goals, bounded assignments, claims, acceptance evidence, review, and integration.
  • Task-aware controller context budgets and transcript-free fresh-chat rotation, so long workflows resume from durable state instead of accumulating chat history.
  • Provider-neutral handoffs for Codex, Claude Code, and GitHub Copilot CLI.
  • Beads-backed durable coordination, including Git-backed and Gitless work.
  • Seven bundled generic workflow skills and four provider-role profiles for each supported coding-agent provider.
  • Project initialization that preserves existing agent instructions and hooks.
  • Config-driven discovery and installation of your own skills.
  • Optional observable external-agent sessions through Herdr.
  • Fail-closed preflight, model policy, imported-asset verification, and macOS-only hardened subprocess isolation.
  • A conditional prose-quality lane for Claude-authored reader content: free deterministic checks first, then at most one bounded edit through a configurable exact provider route when needed, with source preservation and domain validation. Luna-medium is the default, not a dependency.

Agentflow routes skills; it does not replace domain expertise. A repository's own skills and instructions remain authoritative.

See Conditional prose quality for controller-driven blog, documentation, and Instruqt examples.

How the components fit together

Agentflow is the coordination layer between a human-approved goal, durable Beads state, coding-agent providers, and the project being changed. Git and GitHub remain the source-of-truth integration boundary.

flowchart TB
Human["Human in IDE or terminal"] --> Chat["Codex, Claude, or Copilot chat"]
Chat --> AF["Agentflow CLI and root controller"]
AF <--> Beads["Beads<br/>goals, graph, claims, decisions, evidence"]
AF --> Preflight["Typed preflight<br/>base, policy, skills, scope, budget"]
Preflight --> Lane{"Execution lane"}
Lane --> Native["Native subagent"]
Lane --> Herdr["Herdr or tmux<br/>observable external session"]
Herdr --> Providers["Codex, Claude Code, or Copilot CLI"]
Native --> Work["Bounded workspace<br/>Git worktree or Gitless directory"]
Providers --> Work
Work --> Result["Structured result<br/>checks and acceptance evidence"]
Result --> AF
AF --> Git["Git and GitHub<br/>review, CI, PR, merge"]
Loading

The controller is the only component that owns root workflow authority. Worker sessions receive a task-scoped handoff and return evidence; they do not decide that the overall goal is complete. See the workflow guide and security model for the detailed lifecycle and trust boundaries.

Requirements

  • Python 3.10 or later.
  • Beads 1.1 or later and its bd CLI.
  • Git for Git-backed projects.
  • At least one supported coding-agent CLI for delegated work: Codex, Claude Code, or GitHub Copilot CLI.

Optional tools:

  • Herdr for observable external sessions.
  • GitHub CLI (gh) for GitHub issue and pull-request workflows.
  • tmux as a portable fallback for external sessions.

Provider subscriptions, credentials, usage allowances, and terms are managed by their respective providers. Agentflow does not supply or authenticate them.

Install

Ask a coding agent to do it

You can point a ChatGPT/Codex or Claude coding-agent chat at this repository and ask it to install and configure Agentflow. Copy the request in the agent-led setup contract. It tells the agent how to verify the package identity, preserve existing provider configuration, handle a legacy installation transactionally, initialize the current workspace, and report a rollback path.

For manual installation, continue below.

The cleanest installation uses an isolated Python tool environment:

uv tool install "git+https://github.com/saintdle/agentflow.git@v0.0.4"# or
pipx install "git+https://github.com/saintdle/agentflow.git@v0.0.4"

Until the repository is public, an authenticated GitHub checkout or Git credential helper is required. To install from a downloaded release wheel:

pipx install ./saintdle_agentflow-0.0.4-py3-none-any.whl

Verify the installation and prerequisites without exposing credentials:

agentflow --version
agentflow doctor

The wheel contains Agentflow's seven generic workflow skills and the controller, explorer, reviewer, and pull-request gatekeeper profiles for each supported provider. Preview and then install those bundled assets separately:

agentflow install --dry-run
agentflow install

Existing provider files are preserved for manual review.

For development and clean-build instructions, see Installation.

Quick start

Initialize Agentflow and Beads in an existing Git repository:

cd /path/to/project
agentflow init . --beads
agentflow beads status .
agentflow doctor

For a working directory that will not use Git:

mkdir my-work
cd my-work
agentflow init . --beads

Initialization creates only missing workflow files, preserves existing agent instructions and custom hooks, and keeps runtime state out of version control. The default Beads setup is local/stealth. Choose tracked or shared-server state only when that collaboration model is intentional.

Continue with the executable first workflow tutorial to create and approve a root/task graph, run the controller, handle a halt, and record completion evidence.

If you prefer to work entirely through a ChatGPT/Codex or Claude chat, use the chat-first workflow guide. It provides copy/paste prompts for planning without launch, explicit approval, autonomous persistent execution, reconnect-safe resume, read-only status, and bounded PR delivery.

For local optimization evidence, agentflow usage optimize --codeburn <report> reconciles CodeBurn JSON with Agentflow delivery records while keeping savings estimates explicitly advisory.

Bring your own skills

Bundled Agentflow workflow skills are installed by agentflow install. The commands below manage additional project or user domain skills without repackaging Agentflow.

Register a local skill source in project configuration, synchronize it, then check that Agentflow can resolve it:

agentflow skills add ./skills/my-domain-skill
agentflow skills sync
agentflow skills list
agentflow skills doctor

Skill sources may live inside the project or at an explicit external path. Project configuration is shareable when it uses repository-relative paths; machine-specific sources are stored in the ignored .agentflow/config.local.json layer. Synchronization never silently overwrites an unrelated installed skill. See Skill configuration for config examples, provider discovery locations, and team-safe setup patterns.

Platform support

PlatformCore CLIHardened isolation
macOSSupportedAvailable through sandbox-exec; probes fail closed
LinuxSupportedNot available in 0.0.4; requests fail closed
WindowsNot supported in 0.0.4Not available

Core coordination can run on macOS and Linux. Hardened isolation is a distinct, macOS-only security control; ordinary execution on Linux is not equivalent confinement. In 0.0.4, agentflow isolation launch provides synchronous hardened execution. Direct handoff and persistent Herdr/controller launches reject hardened profiles rather than treating a successful probe as confinement.

Documentation

Project status and releases

0.0.4 is intended for development/testing and feedback. Pull requests run validation and package-build checks. Merges to main build the CLI distribution artifacts; tagged releases are the versioned distribution boundary. See the changelog and release process.

Licence and trademarks

Agentflow is licensed under the Apache License 2.0. Third-party attributions are recorded in THIRD_PARTY_NOTICES.md and the detailed provenance inventory. Adapted skills also carry provenance and licence notices beside their code.

Agentflow is an independent project. It is not affiliated with or endorsed by OpenAI, Anthropic, GitHub, Microsoft, Beads, Herdr, or their owners. All product and company names are trademarks of their respective owners.

About

Provider-neutral workflow orchestration for coding agents

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Agentflow

Agentflow is a provider-neutral CLI for coordinating coding agents around an approved goal. It keeps durable work and dependencies in Beads, validates handoffs before launch, and records evidence without treating chat transcripts as project state.

The Python distribution is named saintdle-agentflow; the product, repository, Python import package, and installed command are all named agentflow. The unqualified agentflow and agentflow-cli names on package indexes belong to unrelated projects.

Warning

The majority of this code was generated with AI coding agents. Multiple Codex, Claude, and GitHub Copilot agents produced and reviewed it while Agentflow was used to orchestrate its own development. That dogfooding is useful evidence, not a safety guarantee. Agentflow is currently suitable only for development and testing; do not rely on it for production, unattended privileged automation, or irreplaceable data. Review its plans, permissions, diffs, and backups as though untrusted automation may fail.

Important

Agentflow 0.0.4 is a public preview. Its commands, configuration schema, and compatibility guarantees may change before 1.0.

What it provides

  • A controller workflow built around goals, bounded assignments, claims, acceptance evidence, review, and integration.
  • Task-aware controller context budgets and transcript-free fresh-chat rotation, so long workflows resume from durable state instead of accumulating chat history.
  • Provider-neutral handoffs for Codex, Claude Code, and GitHub Copilot CLI.
  • Beads-backed durable coordination, including Git-backed and Gitless work.
  • Seven bundled generic workflow skills and four provider-role profiles for each supported coding-agent provider.
  • Project initialization that preserves existing agent instructions and hooks.
  • Config-driven discovery and installation of your own skills.
  • Optional observable external-agent sessions through Herdr.
  • Fail-closed preflight, model policy, imported-asset verification, and macOS-only hardened subprocess isolation.
  • A conditional prose-quality lane for Claude-authored reader content: free deterministic checks first, then at most one bounded edit through a configurable exact provider route when needed, with source preservation and domain validation. Luna-medium is the default, not a dependency.

Agentflow routes skills; it does not replace domain expertise. A repository's own skills and instructions remain authoritative.

See Conditional prose quality for controller-driven blog, documentation, and Instruqt examples.

How the components fit together

Agentflow is the coordination layer between a human-approved goal, durable Beads state, coding-agent providers, and the project being changed. Git and GitHub remain the source-of-truth integration boundary.

flowchart TB
Human["Human in IDE or terminal"] --> Chat["Codex, Claude, or Copilot chat"]
Chat --> AF["Agentflow CLI and root controller"]
AF <--> Beads["Beads<br/>goals, graph, claims, decisions, evidence"]
AF --> Preflight["Typed preflight<br/>base, policy, skills, scope, budget"]
Preflight --> Lane{"Execution lane"}
Lane --> Native["Native subagent"]
Lane --> Herdr["Herdr or tmux<br/>observable external session"]
Herdr --> Providers["Codex, Claude Code, or Copilot CLI"]
Native --> Work["Bounded workspace<br/>Git worktree or Gitless directory"]
Providers --> Work
Work --> Result["Structured result<br/>checks and acceptance evidence"]
Result --> AF
AF --> Git["Git and GitHub<br/>review, CI, PR, merge"]
Loading

The controller is the only component that owns root workflow authority. Worker sessions receive a task-scoped handoff and return evidence; they do not decide that the overall goal is complete. See the workflow guide and security model for the detailed lifecycle and trust boundaries.

Requirements

  • Python 3.10 or later.
  • Beads 1.1 or later and its bd CLI.
  • Git for Git-backed projects.
  • At least one supported coding-agent CLI for delegated work: Codex, Claude Code, or GitHub Copilot CLI.

Optional tools:

  • Herdr for observable external sessions.
  • GitHub CLI (gh) for GitHub issue and pull-request workflows.
  • tmux as a portable fallback for external sessions.

Provider subscriptions, credentials, usage allowances, and terms are managed by their respective providers. Agentflow does not supply or authenticate them.

Install

Ask a coding agent to do it

You can point a ChatGPT/Codex or Claude coding-agent chat at this repository and ask it to install and configure Agentflow. Copy the request in the agent-led setup contract. It tells the agent how to verify the package identity, preserve existing provider configuration, handle a legacy installation transactionally, initialize the current workspace, and report a rollback path.

For manual installation, continue below.

The cleanest installation uses an isolated Python tool environment:

uv tool install "git+https://github.com/saintdle/agentflow.git@v0.0.4"# or
pipx install "git+https://github.com/saintdle/agentflow.git@v0.0.4"

Until the repository is public, an authenticated GitHub checkout or Git credential helper is required. To install from a downloaded release wheel:

pipx install ./saintdle_agentflow-0.0.4-py3-none-any.whl

Verify the installation and prerequisites without exposing credentials:

agentflow --version
agentflow doctor

The wheel contains Agentflow's seven generic workflow skills and the controller, explorer, reviewer, and pull-request gatekeeper profiles for each supported provider. Preview and then install those bundled assets separately:

agentflow install --dry-run
agentflow install

Existing provider files are preserved for manual review.

For development and clean-build instructions, see Installation.

Quick start

Initialize Agentflow and Beads in an existing Git repository:

cd /path/to/project
agentflow init . --beads
agentflow beads status .
agentflow doctor

For a working directory that will not use Git:

mkdir my-work
cd my-work
agentflow init . --beads

Initialization creates only missing workflow files, preserves existing agent instructions and custom hooks, and keeps runtime state out of version control. The default Beads setup is local/stealth. Choose tracked or shared-server state only when that collaboration model is intentional.

Continue with the executable first workflow tutorial to create and approve a root/task graph, run the controller, handle a halt, and record completion evidence.

If you prefer to work entirely through a ChatGPT/Codex or Claude chat, use the chat-first workflow guide. It provides copy/paste prompts for planning without launch, explicit approval, autonomous persistent execution, reconnect-safe resume, read-only status, and bounded PR delivery.

For local optimization evidence, agentflow usage optimize --codeburn <report> reconciles CodeBurn JSON with Agentflow delivery records while keeping savings estimates explicitly advisory.

Bring your own skills

Bundled Agentflow workflow skills are installed by agentflow install. The commands below manage additional project or user domain skills without repackaging Agentflow.

Register a local skill source in project configuration, synchronize it, then check that Agentflow can resolve it:

agentflow skills add ./skills/my-domain-skill
agentflow skills sync
agentflow skills list
agentflow skills doctor

Skill sources may live inside the project or at an explicit external path. Project configuration is shareable when it uses repository-relative paths; machine-specific sources are stored in the ignored .agentflow/config.local.json layer. Synchronization never silently overwrites an unrelated installed skill. See Skill configuration for config examples, provider discovery locations, and team-safe setup patterns.

Platform support

PlatformCore CLIHardened isolation
macOSSupportedAvailable through sandbox-exec; probes fail closed
LinuxSupportedNot available in 0.0.4; requests fail closed
WindowsNot supported in 0.0.4Not available

Core coordination can run on macOS and Linux. Hardened isolation is a distinct, macOS-only security control; ordinary execution on Linux is not equivalent confinement. In 0.0.4, agentflow isolation launch provides synchronous hardened execution. Direct handoff and persistent Herdr/controller launches reject hardened profiles rather than treating a successful probe as confinement.

Documentation

Project status and releases

0.0.4 is intended for development/testing and feedback. Pull requests run validation and package-build checks. Merges to main build the CLI distribution artifacts; tagged releases are the versioned distribution boundary. See the changelog and release process.

Licence and trademarks

Agentflow is licensed under the Apache License 2.0. Third-party attributions are recorded in THIRD_PARTY_NOTICES.md and the detailed provenance inventory. Adapted skills also carry provenance and licence notices beside their code.

Agentflow is an independent project. It is not affiliated with or endorsed by OpenAI, Anthropic, GitHub, Microsoft, Beads, Herdr, or their owners. All product and company names are trademarks of their respective owners.

About

Provider-neutral workflow orchestration for coding agents

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

2 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages