logicsrc/plugins/agentgit/README.md
Anthony Ettinger bf046ae280 Add AgentGit M1: agent-native git layer over a Forgejo backend
AgentGit is a thin, DID-gated source-collaboration layer over a backend
forge (default Forgejo at git.profullstack.com, BBS-members-only) — not a
new git host. M1 implements the contract and engines:

- forge/adapter.ts: ForgeAdapter interface (only forge-specific surface)
- forge/forgejo.ts: ForgejoAdapter over Forgejo/Gitea REST v1 (injectable
  fetch, typed errors), incl. ensureUser for member provisioning
- access.ts: gateAccess DID membership gate (owner/role/visibility)
- merge-policy.ts: evaluateMergePolicy pure engine (reviews, reputation
  floor, checks, escrow, merge method, agent-merge toggle)
- service.ts: AgentGitService ties gate + policy to the adapter; refuses
  policy-failing merges; provisionMember hook for AgentBBS
- schemas: logicsrc-repo + logicsrc-pull-request, registered in
  @logicsrc/validators with fixtures
- docs/agentgit.md spec; plugin wired into root build (default/disabled)

27 vitest tests pass; full monorepo build green.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-14 15:15:06 +00:00

843 B

AgentGit Plugin

AgentGit is the agent-native source collaboration plugin for CommandBoard.run / LogicSRC. It is a thin, DID-gated layer over a git backend (Forgejo by default, GitHub or bare git/ssh via adapters) — not a new git host.

The reference deployment is git.profullstack.com, a self-hosted Forgejo instance gated to BBS members. Callers authenticate with a LogicSRC DID (via coinpay), repos default to members_only, and pull requests merge by policy (merge_policy) rather than a human click.

See docs/agentgit.md for the contract, architecture, and merge-policy rules.

Schemas:

packages/schemas/schemas/logicsrc-repo.schema.json
packages/schemas/schemas/logicsrc-pull-request.schema.json

Required environment:

AGENTGIT_API_URL
AGENTGIT_FORGE_URL
AGENTGIT_API_KEY
AGENTGIT_WEBHOOK_SECRET