[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-80517":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":15,"subscribersCount":15,"size":15,"stars1d":16,"stars7d":17,"stars30d":17,"stars90d":15,"forks30d":15,"starsTrendScore":18,"compositeScore":19,"rankGlobal":10,"rankLanguage":10,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":23,"hasPages":23,"topics":24,"createdAt":10,"pushedAt":10,"updatedAt":25,"readmeContent":26,"aiSummary":27,"trendingCount":15,"starSnapshotCount":15,"syncStatus":28,"lastSyncTime":29,"discoverSource":30},80517,"aggit","AstraBert\u002Faggit","AstraBert","S3-backed, git-versioned object storage for your agents","https:\u002F\u002Faggit.dev\u002F",null,"Rust",79,1,73,0,5,6,15,0.9,"MIT License",false,"main",true,[],"2026-06-12 02:04:03","# aggit\n\nS3-backed, git-versioned object storage for agents.\n\n`aggit` is a Rust CLI that implements a minimal Git-like content store in `.aggit\u002F`, plus remote sync to S3-compatible storage.\n\n> [!NOTE]\n>\n> _This software is still in alpha: you might encounter bugs and breaking changes might be introduced in future versions_\n\n## Installation\n\n```bash\ncargo install aggit@0.3.0-alpha\n```\n\n### As an Agent Skill\n\nYou can use `aggit` as an agent skill, downloading it with the `skills` CLI tool:\n\n```bash\nnpx skills add AstraBert\u002Faggit\n```\n\nOr copy-pasting the [`SKILL.md`](.\u002Fskills\u002Faggit\u002FSKILL.md) file to your own skills setup.\n\n## What It Does\n\n- Initializes an `aggit` repository with internal refs and object storage.\n- Hashes file contents into compressed objects (`blob`, `tree`, `commit`) under `.aggit\u002Fobjects`.\n- Tracks staged files in a branch-specific index (`.aggit\u002Frefs\u002Findex\u002F\u003Cbranch>`).\n- Supports core local VCS-like commands:\n  - `add`, `commit`, `checkout`, `status`, `diff`, `ls`, `cat`\n  - `switch` (branch switching\u002Fcreation)\n  - `branch` (list local branches)\n- Stores global commit author config at `~\u002F.config\u002F.aggit\u002Fauthor.toml`.\n- Stores repository metadata in `.aggit\u002Frepo.toml`.\n- Manages multiple S3 origins in `.aggitorigin` (`create`, `add`, `update`).\n- Pushes reachable local objects and branch metadata to S3.\n- Clones `.aggit` data from S3 and restores the working tree.\n\n> [!NOTE]\n>\n> _`gitops` implementation is heavilys inspired by [`pygit`](https:\u002F\u002Fgithub.com\u002Fbenhoyt\u002Fpygit\u002Fblob\u002Fmaster\u002Fpygit.py)_\n\n## CLI Commands\n\n- `aggit init \u003Cpath>`: initialize repository at `path`\n- `aggit author -n \u003Cname> -e \u003Cemail>`: set global author\n- `aggit repo \u003Cname> [-d \u003Cdescription>] [-t \u003Ctopic> ...]`: configure repository metadata\n- `aggit add \u003Cfiles...>`: stage files\n- `aggit commit -m \u003Cmessage>`: commit staged state\n- `aggit checkout \u003Ccommit_sha>`: restore working tree\u002Findex to a specific commit (commit-only checkout)\n- `aggit status`: show changed\u002Fnew\u002Fdeleted files vs index\n- `aggit diff`: show unified diff of working copy vs index\n- `aggit ls [-d]`: list index entries (`-d` for mode\u002FSHA\u002Fstage)\n- `aggit cat -m \u003Cmode> -s \u003Csha1-prefix>`: inspect objects (`blob|tree|commit|type|size|pretty`)\n- `aggit switch \u003Cbranch> [-c]`: switch branch, optionally create (branch switching is done with `switch`, not `checkout`)\n- `aggit branch`: list branches\n- `aggit origin \u003Ccreate|add|update> \u003Cname> -e \u003Cendpoint> -s \u003Csecret> -k \u003Ckey_id> -r \u003Cregion>`\n- `aggit push \u003Corigin>`: push current branch objects\u002Fhead\u002Findex to remote bucket\n- `aggit clone -o \u003Corigin> -n \u003Crepo_name> [-b \u003Cbranch>]`: clone from remote bucket\n\n## Remote Storage Model\n\nWhen pushing, `aggit` targets bucket:\n\n- `\u003Corigin>-\u003Crepository-name>-\u003Cbranch>`\n\nIt uploads:\n\n- reachable objects from local head (excluding what remote head already has)\n- branch head file\n- branch index file\n- remote `head` key\n\nClone downloads remote `.aggit` data, sets `.aggit\u002FHEAD`, then restores files into the working tree.\n\n## Quick Start\n\n```bash\n# Build\ncargo build --release\n\n# Init repo\naggit init .\n\n# Configure identity + repository metadata\naggit author -n \"Jane Doe\" -e \"jane@example.com\"\naggit repo my-repo -d \"Agent artifacts\" -t agents -t storage\n\n# Local workflow\necho \"hello\" > notes.txt\naggit add notes.txt\naggit commit -m \"initial commit\"\naggit status\n\n# Configure first S3 origin\naggit origin create prod \\\n  -e https:\u002F\u002Fs3.example.com \\\n  -s \u003CSECRET_KEY> \\\n  -k \u003CKEY_ID> \\\n  -r us-east-1\n\n# Push\naggit push prod\n```\n\n## License\n\nThis project is provided under MIT license.\n","aggit 是一个基于 S3 的、使用 Git 版本控制的对象存储工具，专为代理程序设计。它利用 Rust 语言实现了一个轻量级的类似 Git 的内容存储库，并支持与 S3 兼容的远程存储同步。核心功能包括文件内容哈希化存储、本地版本控制系统命令支持（如 add, commit, checkout 等）、以及通过 S3 进行远程数据推送和克隆。适用于需要对代理生成的数据进行版本管理和持久化存储的场景，特别是那些希望结合 Git 工作流与云对象存储优势的应用。",2,"2026-06-11 04:01:04","CREATED_QUERY"]