Local notes for agents working in this repo.
- This is an Astro static site using the AstroPaper theme.
- Prefer small, targeted edits. Avoid sweeping reformatting unless asked.
- Content:
src/data/blog/*.md - Site metadata:
src/config.ts - Social/share links:
src/constants.ts - Layouts:
src/layouts/* - Pages/routes:
src/pages/* - Components:
src/components/* - Styles:
src/styles/* - Utilities (posts, tags, OG, search):
src/utils/*
pnpm installpnpm run devpnpm run buildpnpm run preview
- Blog schema is defined in
src/content.config.ts. - Build includes Pagefind indexing and copies it into
public/. - Delete unused or obsolete files when your changes make them irrelevant (refactors, feature removals, etc.), and revert files only when the change is yours or explicitly requested. If a git operation leaves you unsure about other agents' in-flight work, stop and coordinate instead of deleting.
- Before attempting to delete a file to resolve a local type/lint failure, stop and ask the user. Other agents are often editing adjacent files; deleting their work to silence an error is never acceptable without explicit approval.
- NEVER edit
.envor any environment variable files—only the user may change them. - Coordinate with other agents before removing their in-progress edits—don't revert or delete work you didn't author unless everyone agrees.
- Moving/renaming and restoring files is allowed.
- ABSOLUTELY NEVER run destructive git operations (e.g.,
git reset --hard,rm,git checkout/git restoreto an older commit) unless the user gives an explicit, written instruction in this conversation. Treat these commands as catastrophic; if you are even slightly unsure, stop and ask before touching them. (When working within Cursor or Codex Web, these git limitations do not apply; use the tooling's capabilities as needed.) - Never use
git restore(or similar commands) to revert files you didn't author—coordinate with other agents instead so their in-progress work stays intact. - Always double-check git status before any commit
- Keep commits atomic: commit only the files you touched and list each path explicitly. For tracked files run
git commit -m "<scoped message>" -- path/to/file1 path/to/file2. For brand-new files, use the one-linergit restore --staged :/ && git add "path/to/file1" "path/to/file2" && git commit -m "<scoped message>" -- path/to/file1 path/to/file2. - Quote any git paths containing brackets or parentheses (e.g.,
src/app/[candidate]/**) when staging or committing so the shell does not treat them as globs or subshells. - When running
git rebase, avoid opening editors—exportGIT_EDITOR=:andGIT_SEQUENCE_EDITOR=:(or pass--no-edit) so the default messages are used automatically. - Never amend commits unless you have explicit written approval in the task thread.
- Make commits during tasks by default unless the user requests otherwise.
- Run lint (pnpm run lint) before commiting and fix issues lint might rise
- Run format checks (pnpm run format:check) before commiting and fix issues lint might rise