mirror of
https://github.com/ksyasuda/dotfiles.git
synced 2026-02-27 12:22:43 -08:00
update
This commit is contained in:
@@ -14,7 +14,8 @@ Work style: telegraph; noun-phrases ok; drop grammar; min tokens.
|
|||||||
- Bugs: add regression test when it fits.
|
- Bugs: add regression test when it fits.
|
||||||
- Keep files <~500 LOC; split/refactor as needed.
|
- Keep files <~500 LOC; split/refactor as needed.
|
||||||
- Commits: Conventional Commits (`feat|fix|refactor|build|ci|chore|docs|style|perf|test`).
|
- Commits: Conventional Commits (`feat|fix|refactor|build|ci|chore|docs|style|perf|test`).
|
||||||
- Subagents: read `docs/subagent.md`.
|
- Subagents: read [Subagent Coordination Protocol](#subagent-coordination-protocol).
|
||||||
|
- If `Backlog.md` is set up for the project, each task must be associated with a ticket on the backlog. Create a new ticket on the board if it does not already exist
|
||||||
- Editor: `code <path>`.
|
- Editor: `code <path>`.
|
||||||
- CI: `gh run list/view` (rerun/fix til green).
|
- CI: `gh run list/view` (rerun/fix til green).
|
||||||
- Prefer end-to-end verify; if blocked, say what’s missing.
|
- Prefer end-to-end verify; if blocked, say what’s missing.
|
||||||
@@ -28,6 +29,56 @@ Work style: telegraph; noun-phrases ok; drop grammar; min tokens.
|
|||||||
- Blog repo: `~/projects/sudacode-blog`
|
- Blog repo: `~/projects/sudacode-blog`
|
||||||
- Obsidian Vault: `~/S/obsidian/Vault` (e.g. `mac-studio.md`, `mac-vm.md`)
|
- Obsidian Vault: `~/S/obsidian/Vault` (e.g. `mac-studio.md`, `mac-vm.md`)
|
||||||
|
|
||||||
|
## Subagent Coordination Protocol (`docs/subagents/`)
|
||||||
|
|
||||||
|
Purpose: multi-agent coordination across runs; single-agent continuity during long runs.
|
||||||
|
|
||||||
|
Layout:
|
||||||
|
|
||||||
|
- `docs/subagents/INDEX.md` (active agents table)
|
||||||
|
- `docs/subagents/collaboration.md` (shared notes)
|
||||||
|
- `docs/subagents/agents/<agent_id>.md` (one file per agent)
|
||||||
|
- `docs/subagents/archive/<yyyy-mm>/` (archived histories)
|
||||||
|
|
||||||
|
Required behavior (all agents):
|
||||||
|
|
||||||
|
1. At run start, read in order:
|
||||||
|
- `docs/subagents/INDEX.md`
|
||||||
|
- `docs/subagents/collaboration.md`
|
||||||
|
- your own file: `docs/subagents/agents/<agent_id>.md`
|
||||||
|
2. Identify self by stable `agent_id` (runner/env-provided). If missing, create own file from template.
|
||||||
|
3. Maintain `alias` (short human-readable label) + `mission` (one-line focus).
|
||||||
|
4. Before coding:
|
||||||
|
- record intent, planned files, assumptions in your own file.
|
||||||
|
5. During run:
|
||||||
|
- update on phase changes (plan -> edit -> test -> handoff),
|
||||||
|
- heartbeat at least every `HEARTBEAT_MINUTES` (default 20),
|
||||||
|
- update your own row in `INDEX.md` (`status`, `last_update_utc`),
|
||||||
|
- append cross-agent notes in `collaboration.md` when needed.
|
||||||
|
6. Write limits:
|
||||||
|
- MAY edit own file.
|
||||||
|
- MAY append to `collaboration.md`.
|
||||||
|
- MAY edit only own row in `INDEX.md`.
|
||||||
|
- MUST NOT edit other agent files.
|
||||||
|
7. At run end:
|
||||||
|
- record files touched, key decisions, assumptions, blockers, next step for handoff.
|
||||||
|
8. Conflict handling:
|
||||||
|
- if another agent touched your target files, add conflict note in `collaboration.md` before continuing.
|
||||||
|
9. Brevity:
|
||||||
|
- terse bullets; factual; no long prose.
|
||||||
|
|
||||||
|
Suggested env vars:
|
||||||
|
|
||||||
|
- `AGENT_ID` (required)
|
||||||
|
- `AGENT_ALIAS` (required)
|
||||||
|
- `HEARTBEAT_MINUTES` (optional, default 20)
|
||||||
|
|
||||||
|
Suggested env vars:
|
||||||
|
|
||||||
|
- `AGENT_ID` (required)
|
||||||
|
- `AGENT_ALIAS` (required)
|
||||||
|
- `HEARTBEAT_MINUTES` (optional, default 20)
|
||||||
|
|
||||||
## Docs
|
## Docs
|
||||||
|
|
||||||
- Keep notes short; update docs when behavior/API changes (no ship w/o docs).
|
- Keep notes short; update docs when behavior/API changes (no ship w/o docs).
|
||||||
@@ -92,6 +143,8 @@ Read `~/projects/agent-scripts/tools.md` for the full tool catalog if it exists.
|
|||||||
- Use only when you need persistence/interaction (debugger/server).
|
- 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`.
|
- Quick refs: `tmux new -d -s codex-shell`, `tmux attach -t codex-shell`, `tmux list-sessions`, `tmux kill-session -t codex-shell`.
|
||||||
|
|
||||||
|
## Frontend Aesthetics
|
||||||
|
|
||||||
<frontend_aesthetics>
|
<frontend_aesthetics>
|
||||||
Avoid “AI slop” UI. Be opinionated + distinctive.
|
Avoid “AI slop” UI. Be opinionated + distinctive.
|
||||||
|
|
||||||
|
|||||||
@@ -32,3 +32,9 @@ trust_level = "trusted"
|
|||||||
|
|
||||||
[projects."/home/sudacode/.config/mpv/script-opts"]
|
[projects."/home/sudacode/.config/mpv/script-opts"]
|
||||||
trust_level = "trusted"
|
trust_level = "trusted"
|
||||||
|
|
||||||
|
[projects."/home/sudacode/projects/japanese/SubMiner/texthooker-ui"]
|
||||||
|
trust_level = "trusted"
|
||||||
|
|
||||||
|
[projects."/home/sudacode/.config/opencode/commands"]
|
||||||
|
trust_level = "trusted"
|
||||||
|
|||||||
7
.codex/docs/subagents/INDEX.md
Normal file
7
.codex/docs/subagents/INDEX.md
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
# Subagents Index
|
||||||
|
|
||||||
|
Read first. Keep concise.
|
||||||
|
|
||||||
|
| agent_id | alias | mission | status | file | last_update_utc |
|
||||||
|
| --- | --- | --- | --- | --- | --- |
|
||||||
|
| `<agent_id>` | `<alias>` | `<mission>` | `planning` | `docs/subagents/agents/<agent_id>.md` | `<UTC ISO>` |
|
||||||
27
.codex/docs/subagents/agents/TEMPLATE.md
Normal file
27
.codex/docs/subagents/agents/TEMPLATE.md
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
# Agent: <agent_id>
|
||||||
|
|
||||||
|
- alias: <short label>
|
||||||
|
- mission: <one-line focus>
|
||||||
|
- status: <planning|editing|testing|blocked|handoff|done>
|
||||||
|
- branch: <name>
|
||||||
|
- started_at: <UTC ISO>
|
||||||
|
- heartbeat_minutes: <n>
|
||||||
|
|
||||||
|
## Current Work (newest first)
|
||||||
|
- [YYYY-MM-DDTHH:MM:SSZ] intent: ...
|
||||||
|
- [YYYY-MM-DDTHH:MM:SSZ] progress: ...
|
||||||
|
- [YYYY-MM-DDTHH:MM:SSZ] test: ...
|
||||||
|
- [YYYY-MM-DDTHH:MM:SSZ] handoff: ...
|
||||||
|
|
||||||
|
## Files Touched
|
||||||
|
- `path/to/file`
|
||||||
|
- `path/to/another`
|
||||||
|
|
||||||
|
## Assumptions
|
||||||
|
- ...
|
||||||
|
|
||||||
|
## Open Questions / Blockers
|
||||||
|
- ...
|
||||||
|
|
||||||
|
## Next Step
|
||||||
|
- ...
|
||||||
1
.codex/docs/subagents/archive/.gitkeep
Normal file
1
.codex/docs/subagents/archive/.gitkeep
Normal file
@@ -0,0 +1 @@
|
|||||||
|
|
||||||
5
.codex/docs/subagents/collaboration.md
Normal file
5
.codex/docs/subagents/collaboration.md
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
# Subagents Collaboration
|
||||||
|
|
||||||
|
Shared notes. Append-only.
|
||||||
|
|
||||||
|
- [YYYY-MM-DDTHH:MM:SSZ] [agent_id|alias] note, question, dependency, conflict, decision.
|
||||||
@@ -1,106 +0,0 @@
|
|||||||
# 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>
|
|
||||||
1
.config/opencode/AGENTS.md
Symbolic link
1
.config/opencode/AGENTS.md
Symbolic link
@@ -0,0 +1 @@
|
|||||||
|
../../.codex/AGENTS.md
|
||||||
17
.config/opencode/commands/implement-backlog-task.md
Normal file
17
.config/opencode/commands/implement-backlog-task.md
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
---
|
||||||
|
description: Implement a task from Backlog.md end-to-end
|
||||||
|
agent: build
|
||||||
|
model: openai/gpt-5.3-codex
|
||||||
|
---
|
||||||
|
|
||||||
|
If there is a backlog folder and/or `Backlog.md` is set up in the repository
|
||||||
|
then do the following:
|
||||||
|
|
||||||
|
Use the provided task number or context for a task, read the full contents of
|
||||||
|
the task from the `Backlog.md` board using the MCP server if available. If the
|
||||||
|
backlog has not been initialized then initialize the backlog in a
|
||||||
|
non-interactive way.
|
||||||
|
|
||||||
|
Once you have the necessary context, use the writing-plans skill to write a plan
|
||||||
|
to execute the task end-to-end (minus the commit) and then use the executing-plans skill to execute the plan.
|
||||||
|
Use parallel subagents where possible.
|
||||||
@@ -99,7 +99,8 @@
|
|||||||
"pnpm *": "allow",
|
"pnpm *": "allow",
|
||||||
"rm *": "deny",
|
"rm *": "deny",
|
||||||
"grep *": "allow",
|
"grep *": "allow",
|
||||||
"wc *": "allow"
|
"wc *": "allow",
|
||||||
|
"date *": "allow"
|
||||||
},
|
},
|
||||||
"external_directory": {
|
"external_directory": {
|
||||||
"*": "ask",
|
"*": "ask",
|
||||||
|
|||||||
Reference in New Issue
Block a user