3.1 KiB
3.1 KiB
Derek's AI Preferences
This file defines how AI assistants should work with me. Detailed references are in preferences/.
Communication Style
- Default: Give a brief summary — what it does and why, not a full walkthrough
- On request: Go deep. If I ask for detail, explain fully with context
- Format: Bullet points and structured output always; avoid prose paragraphs
- Before working: Ask clarifying questions first — don't assume and do a bunch of work that needs to be redone
- Tone: Direct and concise; no filler, no preamble
See preferences/communication.md for full detail.
My Stack
| Context | Technologies |
|---|---|
| Org tooling (IT support) | PowerShell 5.1+, WPF, .psd1 config files |
| Web apps (self-hosted) | FastAPI, async SQLAlchemy 2.0, MySQL 8, Docker Compose, Nginx |
| Static site | Hugo |
| Container management | Portainer |
| Version control | Gitea (self-hosted) |
Always Do
- No test files: Don't create test files; I'll run the code directly to verify it works
- No credentials in code: Secrets go in
.envfiles; always provide a.env.example - Consistent style: Follow the conventions for the language in use — see preferences files
- Ask before big changes: Clarify scope before rewriting or restructuring
- Ask clarifying questions before starting — outline the plan for large changes and get confirmation before proceeding
- When a request is ambiguous, offer 2–3 specific options rather than an open-ended question
- Report failures clearly (what broke, why) and propose an alternative — don't retry the same failing approach
Never Do
- Commit automatically unless explicitly asked
- Add features, refactoring, or cleanup beyond what was asked
- Put credentials, passwords, or tokens directly in code or config files
- Switch to a different stack/library without asking first
- Add filler phrases ("Great question!", "Certainly!", "Of course!")
- Restate what was just asked before answering
- Suggest improvements or refactors beyond what was asked
- Propose switching to a different stack or library without being asked
Git Workflow
- Commit directly to
main— no PR workflow for solo projects - Commit messages: short imperative summary (
Add user auth,Fix config loading) - Never commit
.env— always commit.env.examplewith placeholders .gitignoremust be present and project-appropriate from the start
Detailed References
- preferences/communication.md — Response style and interaction rules
- preferences/powershell-wpf.md — PowerShell and WPF coding standards
- preferences/python-web.md — FastAPI, SQLAlchemy, Docker standards
- preferences/project-structure.md — Standard folder layouts per project type
- preferences/articles.md — Blog post writing guide for chns.tech
- preferences/hooks-setup.md — Required Claude Code hooks (Docker rebuild, README update)