···1313- **Terminal**: [Alacritty](https://github.com/alacritty/alacritty)
1414- **Theme**: [Catppuccin](https://github.com/catppuccin/catppuccin) (Frappe flavor)
1515- **Shell**: `zsh` with [Starship](https://starship.rs/) prompt and [Sheldon](https://sheldon.cli.rs/) plugin manager
1616-- **Coding**: VS Code and Claude Code
1616+- **Coding**: VS Code, Codex, and Pi
1717- **Note-taking**: VS Code with Foam Extension
18181919## 📦 Configuration
···11----
22-allowed-tools: Bash(git add:*), Bash(git status:*), Bash(git commit:*), Bash(git diff:*), Bash(git log:*)
33-description: Create well-formatted commits with the conventional commits style mixed with emoji (gitmoji).
44----
55-66-# Commit
77-88-## Context
99-1010-- Current git status: !`git status`
1111-- Current git diff (staged and unstaged changes): !`git diff HEAD`
1212-- Current branch: !`git branch --show-current`
1313-- Recent commits: !`git log --oneline -40`
1414-1515-## Goal
1616-1717-Create well-formatted commits with the conventional commits style mixed with emoji (gitmoji).
1818-1919-1. Checks which files are staged with `git status`.
2020-2. Check historical commits to learn style and tone (`git log --oneline -40`).
2121-3. Analyze the diff to determine if multiple distinct logical changes are present.
2222-4. If multiple distinct changes are detected, break the commit into multiple smaller commits.
2323-5. For each commit (or the single commit if not split), create a commit message using the commit convention.
2424- 1. Add all relevant changes with `git add`.
2525- 2. Performs a `git diff` to understand what actual changes are being committed
2626- 3. Write the descriptive and concise commit message.
2727-2828-## Commit Style
2929-3030-- **Atomic commits**: Each commit should contain related changes that serve a single purpose.
3131-- **Split large changes**: If changes touch multiple concerns, split them into separate commits. Always reviews the commit diff to ensure the message matches the changes
3232-- **Concise first line**: Keep the first line under 72 characters. Do not end the subject line with a period.
3333-- **Present tense, imperative mood**: Use the imperative mood in the subject line.
3434-- **Conventional commit format**: Use the format `<emoji> <description>`.
3535-3636-### Emoji Inspiration
3737-3838- - 🎨 Improve structure / format of the code
3939- - ⚡️ Improve performance
4040- - 🔥 Remove code or files
4141- - 🐛 Fix a bug
4242- - 🚑️ Critical hotfix
4343- - ✨ Introduce new features
4444- - 📝 Add or update documentation
4545- - 🚀 Deploy stuff
4646- - 💄 Add or update the UI and style files
4747- - 🎉 Begin a project
4848- - ✅ Add, update, or pass tests
4949- - 🔒️ Fix security or privacy issues
5050- - 🔐 Add or update secrets
5151- - 🔖 Release / Version tags
5252- - 🚨 Fix compiler / linter warnings
5353- - 🚧 Work in progress
5454- - 💚 Fix CI Build
5555- - ⬇️ Downgrade dependencies
5656- - ⬆️ Upgrade dependencies
5757- - 📌 Pin dependencies to specific versions
5858- - 👷 Add or update CI build system
5959- - 📈 Add or update analytics or track code
6060- - ♻️ Refactor code
6161- - ➕ Add a dependency
6262- - ➖ Remove a dependency
6363- - 🔧 Add or update configuration files
6464- - 🔨 Add or update development scripts
6565- - 🌐 Internationalization and localization
6666- - ✏️ Fix typos
6767- - 💩 Write bad code that needs to be improved
6868- - ⏪️ Revert changes
6969- - 🔀 Merge branches
7070- - 📦️ Add or update compiled files or packages
7171- - 👽️ Update code due to external API changes
7272- - 🚚 Move or rename resources (e.g.: files, paths, routes)
7373- - 📄 Add or update license
7474- - 💥 Introduce breaking changes
7575- - 🍱 Add or update assets
7676- - ♿️ Improve accessibility
7777- - 💡 Add or update comments in source code
7878- - 🍻 Write code drunkenly
7979- - 💬 Add or update text and literals
8080- - 🗃️ Perform database related changes
8181- - 🔊 Add or update logs
8282- - 🔇 Remove logs
8383- - 👥 Add or update contributor(s)
8484- - 🚸 Improve user experience / usability
8585- - 🏗️ Make architectural changes
8686- - 📱 Work on responsive design
8787- - 🤡 Mock things
8888- - 🥚 Add or update an easter egg
8989- - 🙈 Add or update a .gitignore file
9090- - 📸 Add or update snapshots
9191- - ⚗️ Perform experiments
9292- - 🔍️ Improve SEO
9393- - 🏷️ Add or update types
9494- - 🌱 Add or update seed files
9595- - 🚩 Add, update, or remove feature flags
9696- - 🥅 Catch errors
9797- - 💫 Add or update animations and transitions
9898- - 🗑️ Deprecate code that needs to be cleaned up
9999- - 🛂 Work on code related to authorization, roles and permissions
100100- - 🩹 Simple fix for a non-critical issue
101101- - 🧐 Data exploration/inspection
102102- - ⚰️ Remove dead code
103103- - 🧪 Add a failing test
104104- - 👔 Add or update business logic
105105- - 🩺 Add or update healthcheck
106106- - 🧱 Infrastructure related changes
107107- - 🧑💻 Improve developer experience
108108- - 💸 Add sponsorships or money related infrastructure
109109- - 🧵 Add or update code related to multithreading or concurrency
110110- - 🦺 Add or update code related to validation
111111- - ✈️ Improve offline support
112112-113113-## Guidelines for Splitting Commits
114114-115115-When analyzing the diff, consider splitting commits based on these criteria:
116116-117117-1. **Different concerns**: Changes to unrelated parts of the codebase
118118-2. **Different types of changes**: Mixing features, fixes, refactoring, etc.
119119-3. **File patterns**: Changes to different types of files (e.g., source code vs documentation)
120120-4. **Logical grouping**: Changes that would be easier to understand or review separately
121121-5. **Size**: Very large changes that would be clearer if broken down
122122-123123-## Examples
124124-125125-- ✨ Add user authentication system
126126-- 🐛 Resolve memory leak in rendering process
127127-- 📝 Update API documentation with new endpoints
128128-- ♻️ Simplify error handling logic in parser
129129-- 🚨 Resolve linter warnings in component files
130130-- 🧑💻 Improve developer tooling setup process
131131-- 👔 Implement business logic for transaction validation
132132-- 🩹 Address minor styling inconsistency in header
133133-- 🚑️ Patch critical security vulnerability in auth flow
134134-- 🎨 Reorganize component structure for better readability
135135-- 🔥 Remove deprecated legacy code
136136-- 🦺 Add input validation for user registration form
137137-- 💚 Resolve failing CI pipeline tests
138138-- 📈 Implement analytics tracking for user engagement
139139-- 🔒️ Strengthen authentication password requirements
140140-- ♿️ Improve form accessibility for screen readers
-42
claude/commands/plan.md
···11-# Plan
22-33-Create clear, actionable, and efficient plans.
44-55-1. **Clarify First**
66- - Ask targeted questions to understand the goal, constraints, and success criteria
77- - Identify any ambiguities or assumptions that need validation
88- - Confirm the scope and boundaries of the task
99-1010-2. **Optimize for Simplicity**
1111- - Start with the minimal viable solution
1212- - Check if the goal can be achieved by modifying existing solutions
1313- - Consider if anything can be removed rather than added
1414- - Prefer straightforward approaches over complex ones
1515-1616-3. **Break Down into Atomic Steps**
1717- - Decompose the task into small, independent, testable units
1818- - Each step should have a clear input, action, and output
1919- - Steps should be executable in isolation when possible
2020- - Include verification/testing criteria for each step
2121-2222-4. **Structure Your Plan**
2323- - Prerequisites: What needs to be in place before starting
2424- - Steps: Numbered, actionable tasks with clear outcomes
2525- - Dependencies: Which steps rely on others
2626- - Checkpoints: Where to verify progress and adjust if needed
2727- - Success Criteria: How to know when the plan is complete
2828-2929-5. **Consider Edge Cases**
3030- - What could go wrong at each step?
3131- - What are the fallback options?
3232- - Where might iterations be needed?
3333-3434-## Output Format
3535-3636-Present your plan as:
3737-1. Goal Statement (one clear sentence)
3838-2. Clarifying Questions (if any)
3939-3. Prerequisites
4040-4. Step-by-Step Plan (numbered, with sub-steps as needed)
4141-5. Success Metrics
4242-6. Potential Risks & Mitigations
-23
claude/commands/question.md
···11-# Question
22-33-Answer user questions directly and accurately. Focus on providing information. Use all the tools you need but don't make any changes (code or system).
44-55-## Process
66-77-1. **Parse the question**: Identify the core question and any sub-questions
88-2. **Gather context**: Use search tools to find relevant resources (online and local). Ask clarifying questions if the question is ambiguous or need more details
99-3. **Analyze systematically**: Consider multiple perspectives, edge cases, and potential blind spots
1010-4. **Respond with specifics**: Give concrete answers and actionable next steps. Discuss trade-offs, which you prefer, ...
1111-1212-## Response Format
1313-1414-- Start with a direct answer (1-2 sentences)
1515-- Provide supporting details with specific references (`file:line`)
1616-- End with concrete next steps if applicable
1717-- Keep total response under 10 lines unless complexity requires more
1818-1919-## Constraints
2020-2121-- No file modifications or system changes
2222-- Prioritize accuracy over speed
2323-- Push back on unclear or impossible requests
-23
claude/commands/simplify.md
···11-# Simplify
22-33-Refactor code (#$ARGUMENTS) to be simpler while maintaining identical functionality. Simple code is easier to understand, change, debug and more flexible, not just shorter.
44-55-## Steps
66-77-1. **Analyze** - Understand purpose, identify edge cases
88-2. **Remove** - Dead code, unused variables, redundant operations
99-3. **Simplify** - Complex conditionals, verbose constructs, unnecessary state
1010-4. **Restructure** - Extract common code, flatten nesting, use early returns
1111-5. **Verify** - Test that behavior remains identical
1212-1313-## Focus Areas
1414-1515-- Replace custom implementations with built-ins
1616-- Combine similar functions
1717-- Use clearest variable/function names
1818-- Apply KISS principle
1919-2020-## Constraints
2121-2222-- MUST produce identical outputs for all inputs
2323-- MUST maintain same public API/interface
···11-You are an expert note-linker and synthesizer. Your job is to enrich the given text with relevant ideas, insights, learnings and key points from a collection of markdown notes. You connect ideas across notes and integrate them seamlessly into writing.
22-33-## Instructions
44-55-1. Read the text carefully understanding the different areas and topics it touchees.
66-2. List all Handbook notes using `find ~/projects/handbook/ -name "*.md" -exec basename {} \;`.
77-3. Read all relevant notes that might contain useful information given the text.
88-4. Search for relevant keywords across the notes to discover other potentially interesting notes.
99-5. Integrate the information into the text while preserving tone, structure, and intent.
1010-6. Output the revised text in a code block.
1111-7. Output an idea list with learnings and key points from the notes that might apply to the text but were not included.
1212-1313-Don't make any edits to handbook notes or other files. Avoid fluff and unnecessary changes.
1414-1515-### Examples
1616-1717-- If the text describes a system, consult the `Systems.md` note and ensure key design principles are included or surfaced in the list.
1818-- If the text is about solving a problem, consult the Problem Solving note and check it follows those practices.
1919-2020-## Goal
2121-2222-Augment the provided text with any valuable ideas, principles, insights, and learnings found in the Handbook notes.