Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 24 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,5 +2,27 @@ local
.DS_Store
nvim/plugin/
gh/
.claude
.wrangler
.claude/
.codex/
.wrangler/
homebrew/
Brewfile.lock.json

# Secrets and machine-local authentication
.env
.env.*
!.env.example
*.pem
*.key
*.p12
*.secret
credentials.json
auth.json
token.txt
*-credentials
*credential-input*
.gitconfig.local
gitconfig.local
CLAUDE.local.md
AGENTS.override.md
.codex-global-state.json
8 changes: 8 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# Pre-commit hooks for this public dotfiles repository.
# Install once with: pre-commit install
# Run against all files with: pre-commit run --all-files
repos:
- repo: https://github.com/gitleaks/gitleaks
rev: v8.30.1
hooks:
- id: gitleaks
1 change: 1 addition & 0 deletions Brewfile
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ brew "neovim"
brew "mosh"
brew "node"
brew "postgresql@17"
brew "pre-commit"
brew "py-spy"
brew "pyenv"
brew "tmux"
Expand Down
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -86,3 +86,9 @@ session links. The first existing settings file is retained as
### Tmux Plugin Manager
- Install Tmux Plugin Manager ([Github](https://github.com/tmux-plugins/tpm#tmux-plugin-manager))
- Install tmux packages with `prefix + I`

## Headless Mac mini

- [Setup and restart verification](docs/mac-mini-setup-guide.md)
- [Tailscale SSH architecture](docs/tailscale-ssh.md)
- [Personal/work GitHub authentication](docs/github-auth.md)
36 changes: 36 additions & 0 deletions agent-instructions.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,3 +17,39 @@ Create pull requests with the simple format
Single-line commands or code within a sentence should be wrapped in backticks

Multi-line commands or code should use fenced code blocks with triple backticks

# Git Credential Safety

GitHub HTTPS authentication may be routed by URL through machine-local credential
helpers. Use normal Git commands and let the configured helper supply credentials.

- Never ask for, read, display, copy, log, or inspect a token or credential file.
- Never run `git credential fill`, `git credential get`, or an equivalent helper
command that returns a secret.
- Never extract a Git credential into `GH_TOKEN`, a command, a prompt, or a log.
- Never run `gh auth setup-git` or modify credential routing unless the user asks
for that exact change.
- Never put credentials or machine-local authentication files in a repository.

Before a network Git operation, inspect the remote and selected routing without
reading a secret:

```sh
remote="$(git remote get-url origin)"
git config --get-urlmatch credential.helper "$remote"
git config --get-urlmatch credential.username "$remote"
```

Stop and ask the user if the expected helper or username is missing. Do not bypass a
missing include or repair credentials autonomously.

# Git Workflow Safety

- Inspect `git status --short` before editing or staging.
- Stage explicit files; do not use `git add .`.
- Do not commit or push unless the user explicitly requests it.
- Fetch and inspect divergence before pushing.
- Never force-push unless the user explicitly approves it after the risk is stated.
- Treat a dry-run `non-fast-forward` rejection as a synchronization issue, not an
authentication failure.
- Verify commit name, email, and signing identity separately from PAT routing.
Loading