Releases: open-gitagent/gitclaw
v1.1.0 — Cron Scheduler + Installer Auto-Resume
What's New
- Cron Scheduler — schedule prompts to run on a cron expression or one-time datetime, with JSONL logging, repeat/once modes, and auto-disable for one-shot jobs
- Scheduler UI — new Scheduler tab in the voice dashboard with form, preset cards, toggle/run/delete controls
- 6 REST API endpoints —
/api/schedules/list,save,delete,toggle,run,logs - Installer Auto-Resume — returning users with an existing
~/assistantsetup skip the interactive wizard and launch immediately
Files Changed
| File | Change |
|---|---|
src/schedule-runner.ts |
New — scheduler engine (node-cron, JSONL logging) |
src/schedules.ts |
New — YAML schedule CRUD + discovery |
src/voice/server.ts |
6 scheduler API endpoints + lifecycle hooks |
src/voice/ui.html |
Scheduler tab UI |
install.sh |
Auto-resume for existing setups, version bump |
package.json |
1.0.0 → 1.1.0, node-cron dependency |
npm: npm i -g gitclaw@1.1.0
v1.0.0 — SkillsFlow
SkillsFlow — v1.0.0 (Major Release)
What's New
- SkillFlows Builder — Visual workflow builder with a skills panel, step cards, and arrow connectors
- Drag-and-Reorder — Drag step/gate cards to rearrange flow order with a blue drop indicator
- Approval Gates — Pause flows and request approval via Telegram or WhatsApp before continuing
- Speaker Mute — New button to mute/unmute agent audio output instantly
- New Workflow Button — Quick-start a fresh workflow from the Saved Flows section
- Flow Execution Engine — Server-side flow runner that chains skills with context passing
- Workflow CRUD API — Save, load, list, and delete flow definitions as YAML
Fixes
- Controls row no longer clips on narrow viewports (flex-wrap)
Upgrade
npm i -g gitclaw@latestv0.4.1 — Cleanup & Installer Update
What's Changed
- Removed all scaffolding artifacts (flappy bird, calculator, hello, jumping ball, architecture diagrams, requirements.txt)
- New
install.shwith pixel sprite banner and two setup modes:- Quick Setup — OpenAI + Anthropic + optional Composio, launches in 30 seconds
- Advanced Setup — voice adapter, model, project dir, Composio, Telegram, port selection
- Auto-opens browser on launch (macOS, Linux, Windows)
- Saves API keys to
.envfor future runs
Full install (one command):
curl -fsSL https://raw.githubusercontent.com/open-gitagent/gitclaw/main/install.sh | bashSee v0.4.0 for the full feature list.
v0.3.0 — Local Repo Mode
Local Repo Mode with Session Branches
Adds --repo <url> --pat <token> to auto-clone a GitHub repo locally, create a session branch, run the agent, auto-commit changes, and push the session branch.
Features
- CLI:
gitclaw --repo <url> --pat <token> "prompt"— clones, branches, runs, commits, pushes - Session resume:
--session gitclaw/session-<id>checks out existing branch with full context - SDK:
query({ repo: { url, token } })— same flow programmatically - Token safety: PAT embedded in remote URL for clone/push, stripped on finalize
- Auto-scaffold: repos without
agent.yamlget it scaffolded on the session branch - Smart defaults: clones to
/tmp/gitclaw/<repo-name>when no--dirgiven
Token fallback chain
--pat → GITHUB_TOKEN → GIT_TOKEN
New files
src/session.ts— session lifecycle moduleexamples/local-repo.ts— SDK usage example
v0.2.0 — Sandbox mode with gitmachine
What's new
Sandbox mode — Run agent tools inside an isolated E2B cloud VM via gitmachine. The agent (LLM calls) still runs locally; only tool execution is remote. All changes are automatically committed to a session branch.
Usage
CLI:
export E2B_API_KEY="..."
export GITHUB_TOKEN="ghp_..."
gitclaw --dir ~/my-project --sandboxSDK:
import { query } from "gitclaw";
for await (const msg of query({
prompt: "Fix the auth bug",
dir: ".",
sandbox: { provider: "e2b" },
})) {
if (msg.type === "delta") process.stdout.write(msg.content);
}Details
gitmachineis an optional peer dependency — only loaded via dynamicimport()when sandbox mode is activated- Without
gitmachineinstalled,--sandboxgives a clear install instruction - Local mode is completely unchanged
- New
createBuiltinTools()factory selects local or sandbox tools - Shared helpers extracted to
src/tools/shared.ts(reduces duplication across tool variants) SandboxOptions,SandboxConfig,SandboxContexttypes exported from SDK
Files
| File | Action |
|---|---|
src/tools/shared.ts |
New — shared constants, schemas, helpers |
src/sandbox.ts |
New — sandbox context creation |
src/tools/sandbox-{cli,read,write,memory}.ts |
New — sandbox tool variants |
src/tools/index.ts |
New — createBuiltinTools() factory |
src/index.ts |
Modified — --sandbox / -s flag + lifecycle |
src/sdk-types.ts |
Modified — SandboxOptions type |
src/sdk.ts |
Modified — sandbox init/teardown in query() |
src/exports.ts |
Modified — export new types |
package.json |
Modified — optional peer dep, version bump |
src/tools/{cli,read,write,memory}.ts |
Refactored — use shared.ts |
v0.1.0 — Initial Release
Gitclaw v0.1.0
A universal git-native AI agent framework.
Your agent lives inside a git repo — identity, rules, memory, tools, and skills are all version-controlled files.
Highlights
CLI + SDK
- CLI with REPL and single-shot (
--prompt) modes - Programmatic SDK —
query()returns anAsyncGenerator<GCMessage>for streaming agent events tool()helper — define custom tools the agent can call
Git-Native Architecture
agent.yamlfor model, tools, and runtime configSOUL.md/RULES.mdfor identity and constraintsmemory/MEMORY.md— git-committed memory with full historytools/*.yaml— declarative tool definitions with script implementationsskills/— composable skill modules
Multi-Provider LLM Support
Works with OpenAI, Anthropic, Google, xAI, Groq, Mistral, and more via pi-ai.
Lifecycle Hooks
Script-based (hooks/hooks.yaml) and programmatic hooks for:
onSessionStart— gate session creationpreToolUse— allow, block, or modify tool callspostResponse— post-processingonError— error handling
Agent Composition
- Inheritance — extend base agents via
extends - Sub-agents — delegate tasks to child agents
- Dependencies — mount shared tool/skill repos
Compliance & Audit
- Risk levels, human-in-the-loop, regulatory frameworks
- JSONL audit logging with full tool invocation traces
Quick Start
npm install gitclawimport { query, tool } from "gitclaw";
const greet = tool("greet", "Greet someone", {
properties: { name: { type: "string" } },
required: ["name"],
}, async (args) => `Hello, ${args.name}!`);
for await (const msg of query({
prompt: "Greet the user",
tools: [greet],
model: "openai:gpt-4o-mini",
})) {
if (msg.type === "delta") process.stdout.write(msg.content);
}Requirements
- Node.js >= 20
- A valid LLM API key (OpenAI, Anthropic, etc.)