mirror of
https://github.com/ksyasuda/dotfiles.git
synced 2026-04-12 16:19:24 -07:00
Compare commits
5 Commits
ce25cf9f52
...
fa31459c77
| Author | SHA1 | Date | |
|---|---|---|---|
|
fa31459c77
|
|||
|
6152d1e69c
|
|||
|
f466cf5dde
|
|||
|
331709ee21
|
|||
|
041dbc08a7
|
106
.claude/AGENTS.md
Normal file
106
.claude/AGENTS.md
Normal file
@@ -0,0 +1,106 @@
|
|||||||
|
# AGENTS.MD
|
||||||
|
|
||||||
|
Work style: telegraph; noun-phrases ok; drop grammar; min tokens.
|
||||||
|
|
||||||
|
## Agent Protocol
|
||||||
|
|
||||||
|
- Contact: Kyle Yasuda (@sudacode, <suda@sudacode.com>).
|
||||||
|
- Workspace: `~/Projects`.
|
||||||
|
- “MacBook Air” / “Mac Mini” => SSH there; find hosts/IPs via `tailscale status`.
|
||||||
|
- PRs: use `gh pr view/diff` (no URLs).
|
||||||
|
- “Make a note” => edit AGENTS.md (shortcut; not a blocker). Ignore `CLAUDE.md`.
|
||||||
|
- No `./runner`. Guardrails: use `trash` for deletes.
|
||||||
|
- Need upstream file: stage in `/tmp/`, then cherry-pick; never overwrite tracked.
|
||||||
|
- Bugs: add regression test when it fits.
|
||||||
|
- Keep files <~500 LOC; split/refactor as needed.
|
||||||
|
- Commits: Conventional Commits (`feat|fix|refactor|build|ci|chore|docs|style|perf|test`).
|
||||||
|
- Subagents: read `docs/subagent.md`.
|
||||||
|
- Editor: `code <path>`.
|
||||||
|
- CI: `gh run list/view` (rerun/fix til green).
|
||||||
|
- Prefer end-to-end verify; if blocked, say what’s missing.
|
||||||
|
- New deps: quick health check (recent releases/commits, adoption).
|
||||||
|
- Slash cmds: `~/.codex/prompts/`.
|
||||||
|
- Web: search early; quote exact errors; prefer 2024–2025 sources; fallback Firecrawl (`pnpm mcp:*`) / `mcporter`.
|
||||||
|
- Style: telegraph. Drop filler/grammar. Min tokens (global AGENTS + replies).
|
||||||
|
|
||||||
|
## Important Locations
|
||||||
|
|
||||||
|
- Blog repo: `~/projects/sudacode-blog`
|
||||||
|
- Obsidian Vault: `~/S/obsidian/Vault` (e.g. `mac-studio.md`, `mac-vm.md`)
|
||||||
|
|
||||||
|
## Docs
|
||||||
|
|
||||||
|
- Keep notes short; update docs when behavior/API changes (no ship w/o docs).
|
||||||
|
- Add `read_when` hints on cross-cutting docs.
|
||||||
|
|
||||||
|
## PR Feedback
|
||||||
|
|
||||||
|
- Active PR: `gh pr view --json number,title,url --jq '"PR #\\(.number): \\(.title)\\n\\(.url)"'`.
|
||||||
|
- PR comments: `gh pr view …` + `gh api …/comments --paginate`.
|
||||||
|
- Replies: cite fix + file/line; resolve threads only after fix lands.
|
||||||
|
- When merging a PR: thank the contributor in `CHANGELOG.md`.
|
||||||
|
|
||||||
|
## Flow & Runtime
|
||||||
|
|
||||||
|
- Use repo’s package manager/runtime; no swaps w/o approval.
|
||||||
|
- Use Codex background for long jobs; tmux only for interactive/persistent (debugger/server).
|
||||||
|
|
||||||
|
## Build / Test
|
||||||
|
|
||||||
|
- Before handoff: run full gate (lint/typecheck/tests/docs).
|
||||||
|
- CI red: `gh run list/view`, rerun, fix, push, repeat til green.
|
||||||
|
- Keep it observable (logs, panes, tails, MCP/browser tools).
|
||||||
|
- Release: read `docs/RELEASING.md` (or find best checklist if missing).
|
||||||
|
|
||||||
|
## Git
|
||||||
|
|
||||||
|
- Safe by default: `git status/diff/log`. Push only when user asks.
|
||||||
|
- `git checkout` ok for PR review / explicit request.
|
||||||
|
- Branch changes require user consent.
|
||||||
|
- Destructive ops forbidden unless explicit (`reset --hard`, `clean`, `restore`, `rm`, …).
|
||||||
|
- Don’t delete/rename unexpected stuff; stop + ask.
|
||||||
|
- No repo-wide S/R scripts; keep edits small/reviewable.
|
||||||
|
- Avoid manual `git stash`; if Git auto-stashes during pull/rebase, that’s fine (hint, not hard guardrail).
|
||||||
|
- If user types a command (“pull and push”), that’s consent for that command.
|
||||||
|
- No amend unless asked.
|
||||||
|
- Big review: `git --no-pager diff --color=never`.
|
||||||
|
- Multi-agent: check `git status/diff` before edits; ship small commits.
|
||||||
|
|
||||||
|
## Language/Stack Notes
|
||||||
|
|
||||||
|
- Swift: use workspace helper/daemon; validate `swift build` + tests; keep concurrency attrs right.
|
||||||
|
- TypeScript: use repo PM; keep files small; follow existing patterns.
|
||||||
|
|
||||||
|
## macOS Permissions / Signing (TCC)
|
||||||
|
|
||||||
|
- Never re-sign / ad-hoc sign / change bundle ID as “debug” without explicit ok (can mess TCC).
|
||||||
|
|
||||||
|
## Critical Thinking
|
||||||
|
|
||||||
|
- Fix root cause (not band-aid).
|
||||||
|
- Unsure: read more code; if still stuck, ask w/ short options.
|
||||||
|
- Conflicts: call out; pick safer path.
|
||||||
|
- Unrecognized changes: assume other agent; keep going; focus your changes. If it causes issues, stop + ask user.
|
||||||
|
- Leave breadcrumb notes in thread.
|
||||||
|
|
||||||
|
## Tools
|
||||||
|
|
||||||
|
Read `~/projects/agent-scripts/tools.md` for the full tool catalog if it exists.
|
||||||
|
|
||||||
|
### tmux
|
||||||
|
|
||||||
|
- Use only when you need persistence/interaction (debugger/server).
|
||||||
|
- Quick refs: `tmux new -d -s codex-shell`, `tmux attach -t codex-shell`, `tmux list-sessions`, `tmux kill-session -t codex-shell`.
|
||||||
|
|
||||||
|
<frontend_aesthetics>
|
||||||
|
Avoid “AI slop” UI. Be opinionated + distinctive.
|
||||||
|
|
||||||
|
Do:
|
||||||
|
|
||||||
|
- Typography: pick a real font; avoid Inter/Roboto/Arial/system defaults.
|
||||||
|
- Theme: commit to a palette; use CSS vars; bold accents > timid gradients.
|
||||||
|
- Motion: 1–2 high-impact moments (staggered reveal beats random micro-anim).
|
||||||
|
- Background: add depth (gradients/patterns), not flat default.
|
||||||
|
|
||||||
|
Avoid: purple-on-white clichés, generic component grids, predictable layouts.
|
||||||
|
</frontend_aesthetics>
|
||||||
118
.codex/AGENTS.md
118
.codex/AGENTS.md
@@ -1,12 +1,106 @@
|
|||||||
- 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.
|
# AGENTS.MD
|
||||||
- **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 `.env` or any environment variable files—only the user may change them.
|
Work style: telegraph; noun-phrases ok; drop grammar; min tokens.
|
||||||
- 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.
|
## Agent Protocol
|
||||||
- ABSOLUTELY NEVER run destructive git operations (e.g., `git reset --hard`, `rm`, `git checkout`/`git restore` to 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.
|
- Contact: Kyle Yasuda (@sudacode, <suda@sudacode.com>).
|
||||||
- Always double-check git status before any commit
|
- Workspace: `~/Projects`.
|
||||||
- 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-liner `git restore --staged :/ && git add "path/to/file1" "path/to/file2" && git commit -m "<scoped message>" -- path/to/file1 path/to/file2`.
|
- “MacBook Air” / “Mac Mini” => SSH there; find hosts/IPs via `tailscale status`.
|
||||||
- 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.
|
- PRs: use `gh pr view/diff` (no URLs).
|
||||||
- When running `git rebase`, avoid opening editors—export `GIT_EDITOR=:` and `GIT_SEQUENCE_EDITOR=:` (or pass `--no-edit`) so the default messages are used automatically.
|
- “Make a note” => edit AGENTS.md (shortcut; not a blocker). Ignore `CLAUDE.md`.
|
||||||
- Never amend commits unless you have explicit written approval in the task thread.
|
- No `./runner`. Guardrails: use `trash` for deletes.
|
||||||
|
- Need upstream file: stage in `/tmp/`, then cherry-pick; never overwrite tracked.
|
||||||
|
- Bugs: add regression test when it fits.
|
||||||
|
- Keep files <~500 LOC; split/refactor as needed.
|
||||||
|
- Commits: Conventional Commits (`feat|fix|refactor|build|ci|chore|docs|style|perf|test`).
|
||||||
|
- Subagents: read `docs/subagent.md`.
|
||||||
|
- Editor: `code <path>`.
|
||||||
|
- CI: `gh run list/view` (rerun/fix til green).
|
||||||
|
- Prefer end-to-end verify; if blocked, say what’s missing.
|
||||||
|
- New deps: quick health check (recent releases/commits, adoption).
|
||||||
|
- Slash cmds: `~/.codex/prompts/`.
|
||||||
|
- Web: search early; quote exact errors; prefer 2024–2025 sources; fallback Firecrawl (`pnpm mcp:*`) / `mcporter`.
|
||||||
|
- Style: telegraph. Drop filler/grammar. Min tokens (global AGENTS + replies).
|
||||||
|
|
||||||
|
## Important Locations
|
||||||
|
|
||||||
|
- Blog repo: `~/projects/sudacode-blog`
|
||||||
|
- Obsidian Vault: `~/S/obsidian/Vault` (e.g. `mac-studio.md`, `mac-vm.md`)
|
||||||
|
|
||||||
|
## Docs
|
||||||
|
|
||||||
|
- Keep notes short; update docs when behavior/API changes (no ship w/o docs).
|
||||||
|
- Add `read_when` hints on cross-cutting docs.
|
||||||
|
|
||||||
|
## PR Feedback
|
||||||
|
|
||||||
|
- Active PR: `gh pr view --json number,title,url --jq '"PR #\\(.number): \\(.title)\\n\\(.url)"'`.
|
||||||
|
- PR comments: `gh pr view …` + `gh api …/comments --paginate`.
|
||||||
|
- Replies: cite fix + file/line; resolve threads only after fix lands.
|
||||||
|
- When merging a PR: thank the contributor in `CHANGELOG.md`.
|
||||||
|
|
||||||
|
## Flow & Runtime
|
||||||
|
|
||||||
|
- Use repo’s package manager/runtime; no swaps w/o approval.
|
||||||
|
- Use Codex background for long jobs; tmux only for interactive/persistent (debugger/server).
|
||||||
|
|
||||||
|
## Build / Test
|
||||||
|
|
||||||
|
- Before handoff: run full gate (lint/typecheck/tests/docs).
|
||||||
|
- CI red: `gh run list/view`, rerun, fix, push, repeat til green.
|
||||||
|
- Keep it observable (logs, panes, tails, MCP/browser tools).
|
||||||
|
- Release: read `docs/RELEASING.md` (or find best checklist if missing).
|
||||||
|
|
||||||
|
## Git
|
||||||
|
|
||||||
|
- Safe by default: `git status/diff/log`. Push only when user asks.
|
||||||
|
- `git checkout` ok for PR review / explicit request.
|
||||||
|
- Branch changes require user consent.
|
||||||
|
- Destructive ops forbidden unless explicit (`reset --hard`, `clean`, `restore`, `rm`, …).
|
||||||
|
- Don’t delete/rename unexpected stuff; stop + ask.
|
||||||
|
- No repo-wide S/R scripts; keep edits small/reviewable.
|
||||||
|
- Avoid manual `git stash`; if Git auto-stashes during pull/rebase, that’s fine (hint, not hard guardrail).
|
||||||
|
- If user types a command (“pull and push”), that’s consent for that command.
|
||||||
|
- No amend unless asked.
|
||||||
|
- Big review: `git --no-pager diff --color=never`.
|
||||||
|
- Multi-agent: check `git status/diff` before edits; ship small commits.
|
||||||
|
|
||||||
|
## Language/Stack Notes
|
||||||
|
|
||||||
|
- Swift: use workspace helper/daemon; validate `swift build` + tests; keep concurrency attrs right.
|
||||||
|
- TypeScript: use repo PM; keep files small; follow existing patterns.
|
||||||
|
|
||||||
|
## macOS Permissions / Signing (TCC)
|
||||||
|
|
||||||
|
- Never re-sign / ad-hoc sign / change bundle ID as “debug” without explicit ok (can mess TCC).
|
||||||
|
|
||||||
|
## Critical Thinking
|
||||||
|
|
||||||
|
- Fix root cause (not band-aid).
|
||||||
|
- Unsure: read more code; if still stuck, ask w/ short options.
|
||||||
|
- Conflicts: call out; pick safer path.
|
||||||
|
- Unrecognized changes: assume other agent; keep going; focus your changes. If it causes issues, stop + ask user.
|
||||||
|
- Leave breadcrumb notes in thread.
|
||||||
|
|
||||||
|
## Tools
|
||||||
|
|
||||||
|
Read `~/projects/agent-scripts/tools.md` for the full tool catalog if it exists.
|
||||||
|
|
||||||
|
### tmux
|
||||||
|
|
||||||
|
- Use only when you need persistence/interaction (debugger/server).
|
||||||
|
- Quick refs: `tmux new -d -s codex-shell`, `tmux attach -t codex-shell`, `tmux list-sessions`, `tmux kill-session -t codex-shell`.
|
||||||
|
|
||||||
|
<frontend_aesthetics>
|
||||||
|
Avoid “AI slop” UI. Be opinionated + distinctive.
|
||||||
|
|
||||||
|
Do:
|
||||||
|
|
||||||
|
- Typography: pick a real font; avoid Inter/Roboto/Arial/system defaults.
|
||||||
|
- Theme: commit to a palette; use CSS vars; bold accents > timid gradients.
|
||||||
|
- Motion: 1–2 high-impact moments (staggered reveal beats random micro-anim).
|
||||||
|
- Background: add depth (gradients/patterns), not flat default.
|
||||||
|
|
||||||
|
Avoid: purple-on-white clichés, generic component grids, predictable layouts.
|
||||||
|
</frontend_aesthetics>
|
||||||
|
|||||||
@@ -1,49 +0,0 @@
|
|||||||
model = "gpt-5.3-codex-spark"
|
|
||||||
model_reasoning_effort = "medium"
|
|
||||||
personality = "pragmatic"
|
|
||||||
tool_output_token_limit = 25000
|
|
||||||
# Leave room for native compaction near the 272–273k context window.
|
|
||||||
# Formula: 273000 - (tool_output_token_limit + 15000)
|
|
||||||
# With tool_output_token_limit=25000 ⇒ 273000 - (25000 + 15000) = 233000
|
|
||||||
model_auto_compact_token_limit = 233000
|
|
||||||
[features]
|
|
||||||
ghost_commit = false
|
|
||||||
unified_exec = true
|
|
||||||
apply_patch_freeform = true
|
|
||||||
web_search_request = true
|
|
||||||
skills = true
|
|
||||||
shell_snapshot = true
|
|
||||||
|
|
||||||
[projects."/home/kyasuda/gitlab/python_package_registry"]
|
|
||||||
trust_level = "trusted"
|
|
||||||
|
|
||||||
[projects."/home/kyasuda/gitlab/treasury-me"]
|
|
||||||
trust_level = "trusted"
|
|
||||||
|
|
||||||
[projects."/home/kyasuda/projects/tmp"]
|
|
||||||
trust_level = "trusted"
|
|
||||||
|
|
||||||
[projects."/home/kyasuda/github/SubMiner"]
|
|
||||||
trust_level = "trusted"
|
|
||||||
|
|
||||||
[projects."/home/kyasuda/.zsh"]
|
|
||||||
trust_level = "untrusted"
|
|
||||||
|
|
||||||
[projects."/home/kyasuda/.config/mpv"]
|
|
||||||
trust_level = "untrusted"
|
|
||||||
|
|
||||||
[projects."/home/kyasuda/packages/whisperx"]
|
|
||||||
trust_level = "trusted"
|
|
||||||
|
|
||||||
[projects."/home/kyasuda/tmp"]
|
|
||||||
trust_level = "untrusted"
|
|
||||||
|
|
||||||
[projects."/home/kyasuda/github/Manatan"]
|
|
||||||
trust_level = "trusted"
|
|
||||||
|
|
||||||
[projects."/home/kyasuda/gitlab/accts-loader"]
|
|
||||||
trust_level = "trusted"
|
|
||||||
|
|
||||||
[mcp_servers.backlog]
|
|
||||||
command = "backlog"
|
|
||||||
args = ["mcp", "start"]
|
|
||||||
1
.codex/config.toml
Symbolic link
1
.codex/config.toml
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
config.toml##os.Linux
|
||||||
49
.codex/config.toml##os.Darwin
Normal file
49
.codex/config.toml##os.Darwin
Normal file
@@ -0,0 +1,49 @@
|
|||||||
|
model = "gpt-5.3-codex-spark"
|
||||||
|
model_reasoning_effort = "medium"
|
||||||
|
personality = "pragmatic"
|
||||||
|
tool_output_token_limit = 25000
|
||||||
|
# Leave room for native compaction near the 272–273k context window.
|
||||||
|
# Formula: 273000 - (tool_output_token_limit + 15000)
|
||||||
|
# With tool_output_token_limit=25000 ⇒ 273000 - (25000 + 15000) = 233000
|
||||||
|
model_auto_compact_token_limit = 233000
|
||||||
|
[features]
|
||||||
|
ghost_commit = false
|
||||||
|
unified_exec = true
|
||||||
|
apply_patch_freeform = true
|
||||||
|
web_search_request = true
|
||||||
|
skills = true
|
||||||
|
shell_snapshot = true
|
||||||
|
|
||||||
|
[projects."/home/kyasuda/gitlab/python_package_registry"]
|
||||||
|
trust_level = "trusted"
|
||||||
|
|
||||||
|
[projects."/home/kyasuda/gitlab/treasury-me"]
|
||||||
|
trust_level = "trusted"
|
||||||
|
|
||||||
|
[projects."/home/kyasuda/projects/tmp"]
|
||||||
|
trust_level = "trusted"
|
||||||
|
|
||||||
|
[projects."/home/kyasuda/github/SubMiner"]
|
||||||
|
trust_level = "trusted"
|
||||||
|
|
||||||
|
[projects."/home/kyasuda/.zsh"]
|
||||||
|
trust_level = "untrusted"
|
||||||
|
|
||||||
|
[projects."/home/kyasuda/.config/mpv"]
|
||||||
|
trust_level = "untrusted"
|
||||||
|
|
||||||
|
[projects."/home/kyasuda/packages/whisperx"]
|
||||||
|
trust_level = "trusted"
|
||||||
|
|
||||||
|
[projects."/home/kyasuda/tmp"]
|
||||||
|
trust_level = "untrusted"
|
||||||
|
|
||||||
|
[projects."/home/kyasuda/github/Manatan"]
|
||||||
|
trust_level = "trusted"
|
||||||
|
|
||||||
|
[projects."/home/kyasuda/gitlab/accts-loader"]
|
||||||
|
trust_level = "trusted"
|
||||||
|
|
||||||
|
[mcp_servers.backlog]
|
||||||
|
command = "backlog"
|
||||||
|
args = ["mcp", "start"]
|
||||||
@@ -10,6 +10,9 @@ model_auto_compact_token_limit = 233000
|
|||||||
ghost_commit = false
|
ghost_commit = false
|
||||||
unified_exec = true
|
unified_exec = true
|
||||||
apply_patch_freeform = true
|
apply_patch_freeform = true
|
||||||
web_search_request = true
|
web_request = true
|
||||||
skills = true
|
skills = true
|
||||||
shell_snapshot = true
|
shell_snapshot = true
|
||||||
|
|
||||||
|
[projects."/home/sudacode/projects"]
|
||||||
|
trust_level = "trusted"
|
||||||
|
|||||||
@@ -109,6 +109,14 @@
|
|||||||
"fontColor": "#cad3f5",
|
"fontColor": "#cad3f5",
|
||||||
"backgroundColor": "transparent",
|
"backgroundColor": "transparent",
|
||||||
},
|
},
|
||||||
|
"frequencyDictionary": {
|
||||||
|
"enabled": true,
|
||||||
|
"sourcePath": "",
|
||||||
|
"topX": 10000,
|
||||||
|
"mode": "single",
|
||||||
|
"singleColor": "#f5a97f",
|
||||||
|
"bandedColors": ["#ed8796", "#f5a97f", "#f9e2af", "#a6e3a1", "#8aadf4"],
|
||||||
|
},
|
||||||
},
|
},
|
||||||
"jimaku": {
|
"jimaku": {
|
||||||
// "apiKey": "YOUR_API_KEY",
|
// "apiKey": "YOUR_API_KEY",
|
||||||
@@ -128,4 +136,11 @@
|
|||||||
"whisperBin": "/usr/bin/whisper-cli",
|
"whisperBin": "/usr/bin/whisper-cli",
|
||||||
"whisperModel": "~/models/whisper.cpp/ggml-small.bin",
|
"whisperModel": "~/models/whisper.cpp/ggml-small.bin",
|
||||||
},
|
},
|
||||||
|
"anilist": {
|
||||||
|
"accessToken": "cat ~/.anilist-token.txt",
|
||||||
|
},
|
||||||
|
"immersionTracking": {
|
||||||
|
"enabled": true,
|
||||||
|
"dbPath": "",
|
||||||
|
},
|
||||||
}
|
}
|
||||||
|
|||||||
106
.config/opencode/AGENTS.md
Normal file
106
.config/opencode/AGENTS.md
Normal file
@@ -0,0 +1,106 @@
|
|||||||
|
# AGENTS.MD
|
||||||
|
|
||||||
|
Work style: telegraph; noun-phrases ok; drop grammar; min tokens.
|
||||||
|
|
||||||
|
## Agent Protocol
|
||||||
|
|
||||||
|
- Contact: Kyle Yasuda (@sudacode, <suda@sudacode.com>).
|
||||||
|
- Workspace: `~/Projects`.
|
||||||
|
- “MacBook Air” / “Mac Mini” => SSH there; find hosts/IPs via `tailscale status`.
|
||||||
|
- PRs: use `gh pr view/diff` (no URLs).
|
||||||
|
- “Make a note” => edit AGENTS.md (shortcut; not a blocker). Ignore `CLAUDE.md`.
|
||||||
|
- No `./runner`. Guardrails: use `trash` for deletes.
|
||||||
|
- Need upstream file: stage in `/tmp/`, then cherry-pick; never overwrite tracked.
|
||||||
|
- Bugs: add regression test when it fits.
|
||||||
|
- Keep files <~500 LOC; split/refactor as needed.
|
||||||
|
- Commits: Conventional Commits (`feat|fix|refactor|build|ci|chore|docs|style|perf|test`).
|
||||||
|
- Subagents: read `docs/subagent.md`.
|
||||||
|
- Editor: `code <path>`.
|
||||||
|
- CI: `gh run list/view` (rerun/fix til green).
|
||||||
|
- Prefer end-to-end verify; if blocked, say what’s missing.
|
||||||
|
- New deps: quick health check (recent releases/commits, adoption).
|
||||||
|
- Slash cmds: `~/.codex/prompts/`.
|
||||||
|
- Web: search early; quote exact errors; prefer 2024–2025 sources; fallback Firecrawl (`pnpm mcp:*`) / `mcporter`.
|
||||||
|
- Style: telegraph. Drop filler/grammar. Min tokens (global AGENTS + replies).
|
||||||
|
|
||||||
|
## Important Locations
|
||||||
|
|
||||||
|
- Blog repo: `~/projects/sudacode-blog`
|
||||||
|
- Obsidian Vault: `~/S/obsidian/Vault` (e.g. `mac-studio.md`, `mac-vm.md`)
|
||||||
|
|
||||||
|
## Docs
|
||||||
|
|
||||||
|
- Keep notes short; update docs when behavior/API changes (no ship w/o docs).
|
||||||
|
- Add `read_when` hints on cross-cutting docs.
|
||||||
|
|
||||||
|
## PR Feedback
|
||||||
|
|
||||||
|
- Active PR: `gh pr view --json number,title,url --jq '"PR #\\(.number): \\(.title)\\n\\(.url)"'`.
|
||||||
|
- PR comments: `gh pr view …` + `gh api …/comments --paginate`.
|
||||||
|
- Replies: cite fix + file/line; resolve threads only after fix lands.
|
||||||
|
- When merging a PR: thank the contributor in `CHANGELOG.md`.
|
||||||
|
|
||||||
|
## Flow & Runtime
|
||||||
|
|
||||||
|
- Use repo’s package manager/runtime; no swaps w/o approval.
|
||||||
|
- Use Codex background for long jobs; tmux only for interactive/persistent (debugger/server).
|
||||||
|
|
||||||
|
## Build / Test
|
||||||
|
|
||||||
|
- Before handoff: run full gate (lint/typecheck/tests/docs).
|
||||||
|
- CI red: `gh run list/view`, rerun, fix, push, repeat til green.
|
||||||
|
- Keep it observable (logs, panes, tails, MCP/browser tools).
|
||||||
|
- Release: read `docs/RELEASING.md` (or find best checklist if missing).
|
||||||
|
|
||||||
|
## Git
|
||||||
|
|
||||||
|
- Safe by default: `git status/diff/log`. Push only when user asks.
|
||||||
|
- `git checkout` ok for PR review / explicit request.
|
||||||
|
- Branch changes require user consent.
|
||||||
|
- Destructive ops forbidden unless explicit (`reset --hard`, `clean`, `restore`, `rm`, …).
|
||||||
|
- Don’t delete/rename unexpected stuff; stop + ask.
|
||||||
|
- No repo-wide S/R scripts; keep edits small/reviewable.
|
||||||
|
- Avoid manual `git stash`; if Git auto-stashes during pull/rebase, that’s fine (hint, not hard guardrail).
|
||||||
|
- If user types a command (“pull and push”), that’s consent for that command.
|
||||||
|
- No amend unless asked.
|
||||||
|
- Big review: `git --no-pager diff --color=never`.
|
||||||
|
- Multi-agent: check `git status/diff` before edits; ship small commits.
|
||||||
|
|
||||||
|
## Language/Stack Notes
|
||||||
|
|
||||||
|
- Swift: use workspace helper/daemon; validate `swift build` + tests; keep concurrency attrs right.
|
||||||
|
- TypeScript: use repo PM; keep files small; follow existing patterns.
|
||||||
|
|
||||||
|
## macOS Permissions / Signing (TCC)
|
||||||
|
|
||||||
|
- Never re-sign / ad-hoc sign / change bundle ID as “debug” without explicit ok (can mess TCC).
|
||||||
|
|
||||||
|
## Critical Thinking
|
||||||
|
|
||||||
|
- Fix root cause (not band-aid).
|
||||||
|
- Unsure: read more code; if still stuck, ask w/ short options.
|
||||||
|
- Conflicts: call out; pick safer path.
|
||||||
|
- Unrecognized changes: assume other agent; keep going; focus your changes. If it causes issues, stop + ask user.
|
||||||
|
- Leave breadcrumb notes in thread.
|
||||||
|
|
||||||
|
## Tools
|
||||||
|
|
||||||
|
Read `~/projects/agent-scripts/tools.md` for the full tool catalog if it exists.
|
||||||
|
|
||||||
|
### tmux
|
||||||
|
|
||||||
|
- Use only when you need persistence/interaction (debugger/server).
|
||||||
|
- Quick refs: `tmux new -d -s codex-shell`, `tmux attach -t codex-shell`, `tmux list-sessions`, `tmux kill-session -t codex-shell`.
|
||||||
|
|
||||||
|
<frontend_aesthetics>
|
||||||
|
Avoid “AI slop” UI. Be opinionated + distinctive.
|
||||||
|
|
||||||
|
Do:
|
||||||
|
|
||||||
|
- Typography: pick a real font; avoid Inter/Roboto/Arial/system defaults.
|
||||||
|
- Theme: commit to a palette; use CSS vars; bold accents > timid gradients.
|
||||||
|
- Motion: 1–2 high-impact moments (staggered reveal beats random micro-anim).
|
||||||
|
- Background: add depth (gradients/patterns), not flat default.
|
||||||
|
|
||||||
|
Avoid: purple-on-white clichés, generic component grids, predictable layouts.
|
||||||
|
</frontend_aesthetics>
|
||||||
@@ -75,7 +75,35 @@
|
|||||||
".cursor/rules/*.md"
|
".cursor/rules/*.md"
|
||||||
],
|
],
|
||||||
"permission": {
|
"permission": {
|
||||||
"edit": "ask",
|
"edit": {
|
||||||
"bash": "ask"
|
"*": "ask",
|
||||||
|
"*.md": "allow",
|
||||||
|
"~/projects/japanese/SubMiner/*": "allow"
|
||||||
|
},
|
||||||
|
"grep": "allow",
|
||||||
|
"glob": "allow",
|
||||||
|
"list": "allow",
|
||||||
|
"task": "allow",
|
||||||
|
"skill": "allow",
|
||||||
|
"webfetch": "allow",
|
||||||
|
"websearch": "allow",
|
||||||
|
"codesearch": "allow",
|
||||||
|
"read": {
|
||||||
|
"*": "allow",
|
||||||
|
"*.env": "deny",
|
||||||
|
"*.env.*": "deny",
|
||||||
|
"*.env.example": "allow"
|
||||||
|
},
|
||||||
|
"bash": {
|
||||||
|
"*": "ask",
|
||||||
|
"git *": "allow",
|
||||||
|
"pnpm *": "allow",
|
||||||
|
"rm *": "deny",
|
||||||
|
"grep *": "allow"
|
||||||
|
},
|
||||||
|
"external_directory": {
|
||||||
|
"*": "ask",
|
||||||
|
"~/projects/*": "allow"
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user