{"id":48431269,"url":"https://github.com/dstackai/claudeform","last_synced_at":"2026-04-08T13:00:44.604Z","repository":{"id":349413814,"uuid":"1200908313","full_name":"dstackai/claudeform","owner":"dstackai","description":"Markdown-first CLI for running agent programs with local session history and diff-aware re-apply.","archived":false,"fork":false,"pushed_at":"2026-04-06T14:13:50.000Z","size":175,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-07T12:02:26.992Z","etag":null,"topics":["agents","claude-code","codex","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dstackai.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-04-04T01:09:33.000Z","updated_at":"2026-04-06T14:13:59.000Z","dependencies_parsed_at":"2026-04-08T13:00:34.975Z","dependency_job_id":null,"html_url":"https://github.com/dstackai/claudeform","commit_stats":null,"previous_names":["dstackai/claudeform"],"tags_count":5,"template":false,"template_full_name":null,"purl":"pkg:github/dstackai/claudeform","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dstackai%2Fclaudeform","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dstackai%2Fclaudeform/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dstackai%2Fclaudeform/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dstackai%2Fclaudeform/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dstackai","download_url":"https://codeload.github.com/dstackai/claudeform/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dstackai%2Fclaudeform/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31556239,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T10:21:54.569Z","status":"ssl_error","status_checked_at":"2026-04-08T10:21:38.171Z","response_time":54,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agents","claude-code","codex","rust"],"created_at":"2026-04-06T11:00:19.936Z","updated_at":"2026-04-08T13:00:44.540Z","avatar_url":"https://github.com/dstackai.png","language":"Rust","readme":"# Claudeform\n\nClaudeform executes agentic programs from markdown files.\n\nYou keep instructions in repo files, run `cf apply -f \u003cprogram.md\u003e`, and Claudeform executes the program with an agent while preserving session context in local state. This gives you a file-based workflow outside chat UI and reduces dependence on proprietary interfaces.\n\nYes, it is called Claudeform. Yes, Codex is the first supported provider. Claude support is on the way.\n\n## Why It Exists\n\n- move agent workflows from chat windows into versioned files\n- run the same program repeatedly with session context and diff-aware previews\n- keep execution history in your workspace, not only in a provider UI\n- keep the control surface simple: markdown programs + CLI apply\n\n## What A Program Is\n\nA **program** is one markdown file that describes desired outcomes, constraints, and execution context for an agent.\n\nThis follows the `program.md` style used in agentic programming workflows: the markdown body is intentionally flexible and expressive, while Claudeform keeps only tool-critical fields strict.\n\nProgram frontmatter:\n\n- `id` (optional)\n- `model` (optional)\n\n## How `apply` Works\n\n`cf apply -f \u003cprogram.md\u003e` runs one **session** for one program.\n\nBefore execution, Claudeform previews:\n\n- last session status and summary (if available)\n- last session changed files\n- program diff since the last comparable snapshot\n\nThen it asks for confirmation and executes the program with the configured provider.\n\nDuring execution, Claudeform streams agent progress events to the terminal and records the full event stream and outputs for later inspection.\n\nAfter execution, Claudeform stores:\n\n- agent/session outcome\n- changed files reported for this session\n- prompt, events, logs, and snapshots\n\n## Install\n\nInstall latest stable:\n\n```bash\ncurl -fsSL https://raw.githubusercontent.com/dstackai/claudeform/main/install.sh | sh\n```\n\nInstall a specific version:\n\n```bash\nCLAUDEFORM_VERSION=v0.0.2 curl -fsSL https://raw.githubusercontent.com/dstackai/claudeform/main/install.sh | sh\n```\n\n## Quick Start\n\n1. Create `.claudeform/config.json`:\n\n```json\n{\n  \"claudeform\": {\n    \"providers\": {\n      \"codex\": {\n        \"type\": \"codex\",\n        \"default\": true,\n        \"default_model\": \"gpt-5-codex\"\n      }\n    }\n  }\n}\n```\n\n2. Run:\n\n```bash\ncf apply -f examples/smoke.md\n```\n\nExample output (will vary by session/model):\n\n```text\ncf apply -f examples/smoke.md\nLast session: 019d5843-eb2d-70b1-b49a-343033117944 (success, 43m ago)\n  program diff: examples/smoke.md unchanged\n  changes: 0 files\nProceed? [y/N] y\nsession 019d586b-aa65-78b2-8a0d-27b5543c59bb\n✔ cat examples/smoke.md | 1ms | out\n💬 Verified `example-data/output-smoke.txt:1` already contains the required `SMOKE_OK` line with trailing newline. | msg\nturn 1 | tokens: in=117k out=1.6k cached=107k\ntotal | tokens: in=117k out=1.6k cached=107k\nchanges: 0 files\n```\n\n## State Layout\n\nClaudeform keeps local state under `.claudeform/`:\n\n- config: `.claudeform/config.json`\n- history index: `.claudeform/history/index.jsonl`\n- per-program sessions: `.claudeform/programs/\u003cprogram_id\u003e/sessions/\u003csession_id\u003e/`\n\nSession folders include prompt, plan metadata, streamed events, provider stdout/stderr, outcome, and session output summary.\n\n## Commands\n\n```bash\ncf apply -f \u003cprogram.md\u003e\n```\n\n## Status\n\nClaudeform is a work in progress. Issues and feedback are very welcome.\n\nAdditional links:\n\n- [`contrib/ARCHITECTURE.md`](contrib/ARCHITECTURE.md)\n- [`contrib/DEVELOPMENT.md`](contrib/DEVELOPMENT.md)\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdstackai%2Fclaudeform","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdstackai%2Fclaudeform","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdstackai%2Fclaudeform/lists"}