{"id":35408441,"url":"https://github.com/ck3mp3r/context","last_synced_at":"2026-03-02T01:01:31.749Z","repository":{"id":331473601,"uuid":"1122874447","full_name":"ck3mp3r/context","owner":"ck3mp3r","description":"Task management and knowledge tracking system with git-based sync, built for AI-assisted workflows","archived":false,"fork":false,"pushed_at":"2026-02-27T23:04:24.000Z","size":1100,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-28T00:43:41.764Z","etag":null,"topics":["ai-agents","leptos","mcp","rest-api","rust","self-hosted","sqlite","task-management","wasm","websocket"],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ck3mp3r.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":"2025-12-25T17:55:26.000Z","updated_at":"2026-02-23T09:51:14.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/ck3mp3r/context","commit_stats":null,"previous_names":["ck3mp3r/context"],"tags_count":14,"template":false,"template_full_name":null,"purl":"pkg:github/ck3mp3r/context","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ck3mp3r%2Fcontext","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ck3mp3r%2Fcontext/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ck3mp3r%2Fcontext/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ck3mp3r%2Fcontext/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ck3mp3r","download_url":"https://codeload.github.com/ck3mp3r/context/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ck3mp3r%2Fcontext/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29988484,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-01T22:42:38.399Z","status":"ssl_error","status_checked_at":"2026-03-01T22:41:51.863Z","response_time":124,"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":["ai-agents","leptos","mcp","rest-api","rust","self-hosted","sqlite","task-management","wasm","websocket"],"created_at":"2026-01-02T13:22:48.914Z","updated_at":"2026-03-02T01:01:31.289Z","avatar_url":"https://github.com/ck3mp3r.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# context (c5t)\n\n\u003e **⚠️ EXPERIMENTAL**: This project is under active development and subject to breaking changes. Database schema, API endpoints, and CLI commands may change without notice. Use at your own risk.\n\nTask management and knowledge tracking system with git-based sync, built for AI-assisted workflows.\n\n**AI Agent Workflows:** Designed for autonomous AI agents to create persistent, multi-step workflows using session notes and task lists that survive context compaction and session boundaries. See [Agent-Based Workflows](docs/mcp.md#agent-based-workflows) for patterns and examples.\n\n## Features\n\n- **Projects \u0026 Task Lists** - Organize work hierarchically with M:N relationships\n- **Tasks** - Track work with status, priority, subtasks, and timestamps\n- **Notes** - Full-text searchable knowledge base with tags and project links\n- **Skills** - Reusable agent instructions and capabilities with full-text search\n- **Session Notes** - Persistent state for AI agents that survives context compaction\n- **Agent Workflows** - Autonomous multi-step workflows with task tracking and state recovery\n- **Real-time Updates** - WebSocket-based live sync between CLI/MCP and Web UI\n- **Git Sync** - JSONL-based sync via git for cross-machine collaboration\n- **MCP Server** - Model Context Protocol integration for AI agents (remote HTTP/SSE)\n- **REST API** - HTTP API with OpenAPI documentation\n- **Web UI** - Leptos-based WASM frontend embedded in single binary\n- **SQLite Storage** - Local-first with optional sync\n\n## Quick Start\n\n**Install:**\n```sh\n# Homebrew (macOS/Linux)\nbrew tap ck3mp3r/context\nbrew install ck3mp3r/context/context\n\n# Or Nix\nnix profile install github:ck3mp3r/context\n\n# Or Docker\ndocker run -d -p 3737:3737 -v ~/.local/share/c5t:/data ghcr.io/ck3mp3r/context:latest\n```\n\nSee [User Guide](docs/user-guide.md#installation) for detailed installation instructions.\n\n**Run the API server (includes Web UI, REST API, and MCP server):**\n\n```sh\nc5t api\n```\n\nThen access:\n- **Web UI**: http://localhost:3737/ (real-time updates via WebSocket)\n- **REST API**: http://localhost:3737/api/v1/*\n- **OpenAPI Docs**: http://localhost:3737/docs\n- **MCP Server**: http://localhost:3737/mcp\n- **WebSocket**: ws://localhost:3737/ws (automatic connection from Web UI)\n\n**Real-time Updates**: Changes made via CLI, REST API, or MCP tools instantly appear in the Web UI without refresh. The connection status indicator (left edge of header) shows WebSocket state.\n\n**Git Sync** - Sync your data across machines using a private git repository:\n\n```sh\n# 1. Create private git repo (GitHub example)\ngh repo create c5t-sync --private\n\n# 2. Initialize sync\nc5t sync init git@github.com:username/c5t-sync.git\n\n# 3. Export your data (run daily or when done working)\nc5t sync export -m \"End of day sync\"\n\n# 4. On another machine: import data\nc5t sync import\n\n# 5. Check sync status anytime\nc5t sync status\n```\n\n**Multi-machine workflow:**\n```sh\n# Machine A (end of day)\nc5t sync export -m \"Updated project tasks\"\n\n# Machine B (start of day)\nc5t sync import     # Pull changes from Machine A\n# ... work on tasks ...\nc5t sync export     # Push changes back\n\n# Machine A (next day)\nc5t sync import     # Pull changes from Machine B\n```\n\nSee [Sync Guide](docs/sync.md) for SSH setup, conflict resolution, and troubleshooting.\n\n## Container Deployment\n\nRun c5t in a container using pre-built multi-arch images from GitHub Container Registry:\n\n```sh\n# Pull latest image (supports amd64 and arm64)\ndocker pull ghcr.io/ck3mp3r/context:latest\n\n# Run with persistent data volume\ndocker run -d \\\n  -p 3737:3737 \\\n  -v ~/.local/share/c5t:/data \\\n  --name c5t \\\n  --restart unless-stopped \\\n  ghcr.io/ck3mp3r/context:latest\n```\n\nAccess the Web UI at http://localhost:3737\n\n**Available tags:**\n- `latest` - Latest release (multi-arch manifest)\n- `0.2.0` - Specific version (multi-arch manifest)\n- `0.2.0-amd64` - x86_64-linux specific\n- `0.2.0-arm64` - aarch64-linux specific\n\n**Volume mounts:**\n- `/data` - Required for database persistence (maps to `~/.local/share/c5t`)\n\n**Environment variables:**\n- `PORT=3737` - API server port\n- `TZ=UTC` - Timezone\n\n**Notes:**\n- Container size: ~150MB (includes git for sync support)\n  - Base c5t binary: ~23MB  \n  - Custom minimal git: ~126MB (stripped of docs, perl, python, GUI tools)\n- Images built from static musl binaries for minimal attack surface\n\n**docker-compose.yml example:**\n\n```yaml\nservices:\n  c5t:\n    image: ghcr.io/ck3mp3r/context:latest\n    ports:\n      - \"3737:3737\"\n    volumes:\n      - ~/.local/share/c5t:/data\n    environment:\n      - TZ=UTC\n    healthcheck:\n      test: [\"CMD-SHELL\", \"curl -f http://localhost:3737/health || exit 1\"]\n      interval: 30s\n      timeout: 10s\n      retries: 3\n    restart: unless-stopped\n```\n\n**Git sync in containers:** Mount `~/.ssh:/data/.ssh:ro` (SSH) or use Personal Access Token in URL (HTTPS). See [Sync Guide - Container Deployments](docs/sync.md#container-deployments).\n\n**Note**: Health check runs from Docker host (requires curl on host), checking `http://localhost:3737/health`\n\n## Documentation\n\n- **[User Guide](docs/user-guide.md)** - Complete guide for end users\n- [Development Guide](docs/development.md) - Setup, building, testing\n- [API Reference](docs/api.md) - REST API endpoints\n- [MCP Tools](docs/mcp.md) - Model Context Protocol tools\n- [Frontend Architecture](docs/frontend.md) - Leptos WASM UI \u0026 build process\n- [Database Schema](docs/schema.md) - SQLite schema and migrations\n- [Sync Guide](docs/sync.md) - Git-based cross-machine synchronization\n\n## Architecture\n\n**Single unified binary** (`c5t`) with embedded WASM frontend.\n\nThe `c5t api` command serves:\n- **Web UI** at `/` (Leptos WASM SPA, embedded in binary)\n- **REST API** at `/api/v1/*` (Axum handlers)\n- **WebSocket** at `/ws` (real-time updates)\n- **MCP Server** at `/mcp` (Model Context Protocol)\n- **OpenAPI Docs** at `/docs` (Swagger UI)\n\n## License\n\nGPL v2 - See [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fck3mp3r%2Fcontext","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fck3mp3r%2Fcontext","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fck3mp3r%2Fcontext/lists"}