Commit Graph
15 Commits
Author SHA1 Message Date
christian 696049b3b1 Merge pull request 'Document branch-and-PR workflow; never write to main' (#1) from docs/branch-pr-workflow into main
Reviewed-on: #1
2026-10-21 00:58:40 +02:00
christian 2088568b5e Merge pull request 'Protect main: git hooks + Claude Code deny rules' (#3) from chore/deny-push-main into main
Reviewed-on: #3
2026-10-21 00:58:30 +02:00
christianandClaude Opus 5.5 f666bdf6b3 Give the PR workflow a hard stop
Only confirmed correctness bugs block approval; everything else is a note.
At most one fix round, then hand off. Don't widen scope to satisfy a
review. Merge main only on conflict or request. The token goes in a
private header file, and PR responses are checked for a number.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 00:56:51 +02:00
christianandClaude Opus 5.5 480ed6a8b2 Install hooks into the repo's own hooks dir, ignoring core.hooksPath
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 00:55:32 +02:00
christianandClaude Opus 5.5 ed197eeeb1 Address review round 3: safe API snippets, PR opened once, pinned review
- Titles and bodies go through --rawfile files, never inline shell quotes
- pipefail + curl -f + jq -e so a failed call can't look successful
- Fix rounds merge latest main and skip re-opening the PR
- Check the branch isn't main before pushing; never bypass the hooks
- Review at a pinned level; only correctness findings checked against the
  code block approval

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 00:50:38 +02:00
christianandClaude Opus 5.5 24541f0602 Install hooks by copying into .git/hooks instead of core.hooksPath
Linking core.hooksPath to the tracked, sandbox-writable .githooks/ let a
sandboxed command rewrite a hook that git commit/push then run unsandboxed.
Copies in .git/hooks can't be changed from the sandbox. This also keeps
existing .git/hooks scripts working and lets npm install succeed outside a
git checkout. pre-merge-commit now names itself in errors; hook tests clean
up, ignore GIT_* env and cover the installer; docs state what each layer
does and doesn't stop.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 00:44:30 +02:00
christianandClaude Opus 5.5 8b08c7b27a Block pushes and commits to main with git hooks
pre-push rejects any push that would update refs/heads/main, however the
command is spelled; pre-commit and pre-merge-commit refuse commits while
main is checked out. npm install enables them via core.hooksPath. The
README documents the three layers of protection for main.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 00:39:56 +02:00
christianandClaude Opus 5.5 fa45c58c0c Address review round 2: no-track branches, honest enforcement, safer API calls
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 00:32:15 +02:00
christianandClaude Opus 5.5 183e44db62 Deny Claude Code pushes to main
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 00:30:36 +02:00
christianandClaude Opus 5.5 962c1aa9a1 Address review: fresh base, named review target, round cap, Gitea API
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 00:22:48 +02:00
christianandClaude Opus 5.5 82ba704957 Document branch-and-PR workflow; never write to main
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 00:12:37 +02:00
christianandClaude Opus 5.5 f0ba80a7bd Drop ineffective ~/.config/git read exception
Project settings can't re-open a path denied by another settings source,
so this lives in user settings instead.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 00:07:59 +02:00
christianandClaude Opus 5.5 e5e43efafa Let git ls-remote reach Gitea from the sandbox
Run git ls-remote unsandboxed so SSH works, and ask before each use like
the other network git commands.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 00:06:42 +02:00
christianandClaude Opus 5.5 371a6af0b4 Sandbox Claude Code to the project folder
Enable the Bash sandbox with writes limited to the project, block reads
of credential and personal folders, and protect the settings files from
edits. git commit/push/fetch/pull run unsandboxed so GPG and SSH work;
network git commands always ask first.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-21 00:02:02 +02:00
christianandClaude Opus 5.5 3cec32b9e6 Initial commit: demo todo CLI with Claude Code setup
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-20 23:49:20 +02:00