docs(readme): add x social link badge#355
Conversation
…refs docs(gittensor): swap removed --template for a real session example
bump the version to 1.1.0 in pyproject.toml, openclaw.plugin.json, and src/vouch/__init__.py, and cut the changelog for the release. the headline is the claude code session auto-capture + session-start recall pair; detect-themes, the settings.json json_merge install strategy, and the pr auto-labeler ride along. two pieces of repair work ship with the prep: the [1.0.0] changelog section is restored — a merge after the release folded its entries back under [Unreleased] and dropped the version header, so the section is rebuilt exactly as it read at the v1.0.0 tag and only post-tag entries moved into [1.1.0]. release.yml is restored — the tag-triggered pypi trusted-publishing workflow was deleted alongside unrelated files in the #95 squash (pypi has 0.1.0 and 1.0.0, so the publisher config is live). it returns unchanged, plus a github-release job that attaches the built sdist and wheel to a github release whose body is the matching changelog section and whose title comes from the annotated tag subject.
the #95 squash that deleted release.yml also reverted the pyproject name from vouch-kb to vouch. pypi rejects uploads under vouch (the name belongs to an unrelated project) and the trusted publisher is registered for vouch-kb — the v1.1.0 publish job failed 403 on exactly this. the installed command is still vouch. also fetch the real tag object in the github-release job before reading its subject: checkout peels the tag to its commit, so the annotated-tag title always fell back to the bare tag name.
delete any existing release for the tag before recreating it, so a workflow re-run or a corrected tag replaces the stale release with fresh assets instead of failing on "already exists".
every release tag now also builds and pushes a linux/amd64 + linux/arm64 image tagged X.Y.Z, X.Y, and latest, gh-pages style alongside the pypi dists. the new repo-root Dockerfile is the canonical general-purpose container: entrypoint is the vouch cli, default command is the stdio mcp server, and the project root bind-mounts at /data where the kb is discovered from cwd exactly as on a host checkout. installs the web extra; embeddings stay out. the image user is uid 1000 with a home dir, so files created through the /data bind mount stay owned by the default host user (uid 10001 could not even stat a host-owned mount). verified locally: build, vouch init + status against a bind mount, and an mcp initialize handshake over stdio. the pypi publish step gains skip-existing so a re-cut tag republishes cleanly instead of failing on the immutable existing version. adapters/http-tunnel/Dockerfile remains the http-only deployment reference.
link the @vouch_dev x account from the badge row so the project's social presence is discoverable from the readme.
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
There was a problem hiding this comment.
Pull request overview
This PR goes beyond adding an X/Twitter badge to the README: it bumps the project to 1.1.0 and introduces release/packaging infrastructure (GitHub Actions release workflow, container build files, and OpenClaw plugin manifest changes).
Changes:
- Add an X badge to the README and add instructions for running vouch via the published container image.
- Bump version to 1.1.0 across Python package metadata and
src/vouch/__init__.py, and add a new1.1.0section to the changelog. - Add release automation and container packaging files (
.github/workflows/release.yml,Dockerfile,.dockerignore), and restructureopenclaw.plugin.json.
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
src/vouch/__init__.py |
Updates the runtime __version__ constant to 1.1.0. |
README.md |
Adds X badge and documents running via ghcr.io/vouchdev/vouch container. |
pyproject.toml |
Renames distribution to vouch-kb and bumps version to 1.1.0. |
openclaw.plugin.json |
Major manifest changes (currently breaking enforced repo contract/tests). |
Dockerfile |
Adds a repo-root container image definition for vouch. |
.dockerignore |
Adds ignore rules to keep the Docker build context small. |
CHANGELOG.md |
Adds 1.1.0 section and reorganizes entries. |
.github/workflows/release.yml |
Adds automated release workflow (PyPI publish, container push, GitHub release). |
Comments suppressed due to low confidence (1)
openclaw.plugin.json:41
- The manifest defines
configSchematwice. Duplicate keys in JSON are ambiguous (only the last one “wins”), so the earlier schema is silently ignored and readers/tools can’t reliably tell which schema applies.
"skills": [
"adapters/openclaw/skills"
],
"configSchema": {
"type": "object",
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| "name": "vouch", | ||
| "version": "1.1.0", | ||
| "description": "Git-native, review-gated knowledge base for LLM agents. MCP server + JSONL tool server + CLI.", | ||
| "family": "bundle-plugin", | ||
| "homepage": "https://github.com/vouchdev/vouch", |
| "mcpServers": { | ||
| "vouch": { | ||
| "command": "vouch", | ||
| "args": ["serve"], | ||
| "env": { | ||
| "VOUCH_AGENT": "openclaw" | ||
| } | ||
| } | ||
| }, |
| name = "vouch" | ||
| version = "1.0.0" | ||
| name = "vouch-kb" | ||
| version = "1.1.0" |
| Or skip the install entirely and run the released container image | ||
| ([`ghcr.io/vouchdev/vouch`](https://github.com/vouchdev/vouch/pkgs/container/vouch)), | ||
| bind-mounting the project root (the directory containing `.vouch/`) at | ||
| `/data`: | ||
|
|
||
| ```bash | ||
| # stdio MCP server (the canonical surface — note -i) | ||
| docker run -i --rm -v "$PWD:/data" ghcr.io/vouchdev/vouch:latest | ||
|
|
||
| # any CLI command | ||
| docker run --rm -v "$PWD:/data" ghcr.io/vouchdev/vouch:latest status | ||
| ``` |
link the @vouch_dev x account from the badge row so the project's social presence is discoverable from the readme.
What changed
Why
What might break
VEP
Tests
make checkpasses locally (lint + mypy + pytest)CHANGELOG.mdupdated under## [Unreleased]