gitshark

Clone repository

git clone https://gitshark.de/git/workaround/Gitshark.git
git clone git@gitshark.de:workaround/Gitshark.git

← Commits

πŸ€– (agents): Add AGENTS.md docs-sync policy with CLAUDE.md import

0c182c4ffffec764b238dd0e771a725d443bc6ed Β· Miggi Β· 2026-07-08T19:22:18Z

Changes

2 files changed, +57 -0

ADD AGENTS.md +56 -0
diff --git a/AGENTS.md b/AGENTS.md
new file mode 100644
index 0000000..95b927d
--- /dev/null
+++ b/AGENTS.md
@@ -0,0 +1,56 @@
1 +# Agent instructions for git-shark
2 +
3 +git-shark is a self-hosted Git platform: a single Quarkus service (Java 21,
4 +Panache Next, Qute server-rendered UI, PostgreSQL, Flyway) serving bare git
5 +repositories over smart HTTP and SSH, with OIDC login and opt-in ForgeFed
6 +federation. Source layout: `src/main/java/de/workaround/`, templates in
7 +`src/main/resources/templates/`, migrations in
8 +`src/main/resources/db/migration/`, docs in `docs/`.
9 +
10 +## Keep the docs in sync
11 +
12 +`docs/` is organized by audience. **Whenever you implement, change, or remove a
13 +feature, update the matching docs in the same commit or PR** β€” do not leave doc
14 +updates for later.
15 +
16 +| You changed… | Update |
17 +|---|---|
18 +| Anything a logged-in user sees or does (UI pages, workflows, error messages, handles/URL forms) | `docs/users/` |
19 +| Configuration properties, environment variables, exposed endpoints, deployment/proxy requirements, DB tables, operational behavior (queues, retries, monitoring) | `docs/admins/` β€” including the configuration-reference table in `admins/getting-started.md` when adding or changing a `GITSHARK_*`/config property |
20 +| Architecture, implementation decisions, protocol behavior, or the capability set of a subsystem | `docs/maintainers/` |
21 +| The overall feature set | The feature list in the root `README.md` |
22 +
23 +Checklist per doc change:
24 +
25 +- **New doc file** β†’ add it to the index in `docs/README.md` under the right
26 + audience section, and link it from related docs.
27 +- **Moved/renamed doc** β†’ `grep -rn` the whole repo for the old path (root
28 + `README.md` links into `docs/`) and fix every reference.
29 +- **Numbers and behavior claims** (defaults, limits, intervals, endpoint paths,
30 + table names) must match the source β€” verify against the code, don't copy
31 + from an older doc.
32 +
33 +### Federation specifics
34 +
35 +The federation subsystem has one doc per audience; a federation change usually
36 +touches more than one:
37 +
38 +- `docs/users/federation.md` β€” what users can do (follow/unfollow, feeds,
39 + identity, error messages).
40 +- `docs/admins/federation.md` β€” config vars, allowlist semantics, exposed
41 + endpoints, reverse-proxy rules, delivery-queue operations, table inventory,
42 + troubleshooting.
43 +- `docs/maintainers/forgefed.md` β€” component map, data flows, implementation
44 + decisions with rationale, and the **"What works today" / "What still needs
45 + to be implemented" lists: when you implement something from the gap list,
46 + move it to the works list; when you add a new capability or discover a new
47 + gap, record it.** New load-bearing design decisions belong in the decisions
48 + section with their why.
49 +
50 +## Conventions
51 +
52 +- Commit messages: `<gitmoji> (<context>): <message>`, e.g.
53 + `πŸ“ (docs): Update federation user guide`.
54 +- Never add functionality without a failing test first; the test must be green
55 + after the implementation. Docs-only changes need no tests.
56 +- Code style: tabs, Allman braces; match the surrounding code.
ADD CLAUDE.md +1 -0
diff --git a/CLAUDE.md b/CLAUDE.md
new file mode 100644
index 0000000..43c994c
--- /dev/null
+++ b/CLAUDE.md
@@ -0,0 +1 @@
1 +@AGENTS.md

Keyboard shortcuts

?Show this help
g hGo home
EscClose dialog