mirror of
https://github.com/profullstack/logicsrc.git
synced 2026-08-14 06:47:28 +00:00
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>
31 lines
748 B
TypeScript
31 lines
748 B
TypeScript
import type { PluginManifest } from "@logicsrc/plugin-core";
|
|
|
|
export const agentGitManifest: PluginManifest = {
|
|
id: "agentgit",
|
|
name: "AgentGit",
|
|
version: "0.1.0",
|
|
type: ["scm", "collaboration", "review"],
|
|
default: false,
|
|
capabilities: [
|
|
"repo.create",
|
|
"repo.list",
|
|
"repo.get",
|
|
"repo.archive",
|
|
"branch.create",
|
|
"branch.list",
|
|
"pr.open",
|
|
"pr.list",
|
|
"pr.get",
|
|
"pr.review",
|
|
"pr.merge",
|
|
"pr.close",
|
|
"merge.evaluate",
|
|
"access.gate",
|
|
"webhook.push",
|
|
"webhook.pr_status",
|
|
"reputation.merge_event",
|
|
"audit.log"
|
|
],
|
|
commands: ["repo", "pr", "clone", "review", "merge"],
|
|
env: ["AGENTGIT_API_URL", "AGENTGIT_FORGE_URL", "AGENTGIT_API_KEY", "AGENTGIT_WEBHOOK_SECRET"]
|
|
};
|