{"id":45406079,"url":"https://github.com/dotcommander/vybe","last_synced_at":"2026-04-25T20:02:54.246Z","repository":{"id":338303659,"uuid":"1157408729","full_name":"dotcommander/vybe","owner":"dotcommander","description":"CLI for AI coding agents: persistent tasks, memory, events, and deterministic resume across crashes and session resets.","archived":false,"fork":false,"pushed_at":"2026-04-20T20:52:22.000Z","size":1235,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-20T22:38:04.852Z","etag":null,"topics":["agent-framework","ai-agents","claude","cli","developer-tools","golang","sqlite","task-management"],"latest_commit_sha":null,"homepage":null,"language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/dotcommander.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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-02-13T19:33:52.000Z","updated_at":"2026-04-20T20:52:22.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/dotcommander/vybe","commit_stats":null,"previous_names":["dotcommander/vybe"],"tags_count":19,"template":false,"template_full_name":null,"purl":"pkg:github/dotcommander/vybe","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dotcommander%2Fvybe","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dotcommander%2Fvybe/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dotcommander%2Fvybe/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dotcommander%2Fvybe/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/dotcommander","download_url":"https://codeload.github.com/dotcommander/vybe/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/dotcommander%2Fvybe/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32274987,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-25T18:29:39.964Z","status":"ssl_error","status_checked_at":"2026-04-25T18:29:32.149Z","response_time":59,"last_error":"SSL_read: 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":["agent-framework","ai-agents","claude","cli","developer-tools","golang","sqlite","task-management"],"created_at":"2026-02-21T21:21:47.834Z","updated_at":"2026-04-25T20:02:54.241Z","avatar_url":"https://github.com/dotcommander.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# vybe\n\nPersistent memory for AI coding agents.\n\n## The Problem\n\nYour agent is halfway through a refactor — six files changed, two to go — and the session dies. Context window limit, crash, timeout, whatever.\n\nNext session starts cold. The agent re-reads files it already understood, re-plans work it already decided on, and redoes changes it already made.\n\n**Agents have no memory that survives a session boundary.** There's nowhere to store what they were doing, what they learned, or what they produced.\n\n`vybe` is that storage layer — a single SQLite file that survives crashes and restores context on restart.\n\n![vybe demo](demo.gif)\n\n## What It Does\n\nOn session start, `vybe resume` returns everything the agent needs — its current task, saved memory, recent activity, and linked files.\n\nBetween sessions, vybe stores:\n- **Tasks** with status, priority, and dependency tracking\n- **Events** as an append-only log of everything the agent did\n- **Memory** as key-value pairs scoped to global, project, task, or agent — with expiration\n- **Artifacts** linking files and outputs to the work that produced them\n\nSending the same command twice is safe — duplicates are detected and ignored. Multiple agents share the same database without stepping on each other.\n\n## Quick Start\n\n```bash\n# 1) install\ngo install github.com/dotcommander/vybe/cmd/vybe@latest\n\n# 2) connect your assistant (hooks handle agent identity automatically)\nvybe hook install            # Claude Code\n# OR\nvybe hook install --opencode # OpenCode\n\n# 3) verify\nvybe status --check\n```\n\nIf `vybe status --check` returns `query_ok=true`, setup is done.\n\n## First Task\n\n```bash\n# create work\nvybe task create --request-id task_1 --title \"Ship feature\" --desc \"Implement X\"\n\n# get current focus + context\nvybe resume --request-id resume_1\n\n# close when done (task ID is returned by create)\nvybe task set-status --request-id done_1 --id \u003cTASK_ID\u003e --status completed\n```\n\nIf a session crashes, run `vybe resume` and keep going.\n\n## Capabilities\n\n| Capability | What it does |\n|------------|-------------|\n| **Task lifecycle** | Create, begin, complete, and block tasks with priority and dependencies |\n| **Event log** | Append-only log of agent activity — what happened, in order |\n| **Scoped memory** | Key-value pairs stored per-project, per-task, or globally — with expiration. **Pins are sticky:** `memory set --pin` enables pinning; subsequent `memory set` calls without `--pin` preserve the pin. Only `memory pin --unpin` can clear it. This protects durable strategic memory from being unpinned by incidental writes |\n| **Resume** | Restores the agent's full working context from a single command |\n| **Safe retries** | Every write accepts a `--request-id`; sending it twice won't create duplicates |\n| **Multi-agent** | Multiple agents share the same database safely |\n| **Hook integration** | One-command install for Claude Code and OpenCode |\n| **Project scoping** | Group tasks and memory under named projects |\n| **Maintenance** | Automatic cleanup of old events — configurable in `config.yaml` |\n| **SQLite** | Single file, no server, handles concurrent access out of the box |\n\nSee [`docs/`](docs/) for internals: focus selection algorithm, concurrency model, idempotency protocol, event archiving.\n\n## Architecture\n\n```\ncmd/vybe/main.go\n  ↓\ninternal/commands/     # CLI layer — parse flags, call actions\n  ↓\ninternal/actions/      # Business logic — orchestrate store calls\n  ↓\ninternal/store/        # SQLite persistence — transactions, retry, conflict resolution\n```\n\n**Commands:** `artifacts`, `events`, `hook`, `loop`, `memory`, `push`, `resume`, `schema`, `status`, `task`, `upgrade`\n\nSee [`docs/`](docs/) for full documentation.\n\n## Documentation\n\n| Doc | Contents |\n|-----|----------|\n| [`docs/operator-guide.md`](docs/operator-guide.md) | Install/bootstrap plus operational loop recipes |\n| [`docs/agent-contract.md`](docs/agent-contract.md) | Canonical machine I/O and integration contract |\n| [`docs/contributor-guide.md`](docs/contributor-guide.md) | Contributor workflow for safe code changes |\n| [`docs/decisions.md`](docs/decisions.md) | Why command-surface choices exist and what must not regress |\n\n## Uninstall\n\n```bash\nvybe hook uninstall            # Claude Code\nvybe hook uninstall --opencode # OpenCode\n```\n\nState is stored in `~/.config/vybe/`. Remove that directory to wipe all data.\n\n## License\n\nMIT\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdotcommander%2Fvybe","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdotcommander%2Fvybe","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdotcommander%2Fvybe/lists"}