diff --git a/GEMINI.md b/GEMINI.md index 61a8dc1..01532c9 100644 --- a/GEMINI.md +++ b/GEMINI.md @@ -1,11 +1,18 @@ -## General Guidelines - -- **Ruby/Python:** If working with Ruby, assume `bundler`. If working with Python, assume `virtualenv`. -- **Conventions:** Respect existing `.gitignore` and coding styles in each extension. -- be concise in your explanations and code comments. -- assume the user is 30 year vetrean system administrator with the ability to read and understand code without excessive comments. -- dont offer to to commit code or make pull requests just edit the files as needed. -- always write a test if it makes sense to do so. -- when writing tests, use existing test frameworks and styles in the project. -- when writing code, follow existing coding styles and conventions in the project. +## Core Guidelines +- **Persona:** Assume the user is a 30-year veteran system administrator. Skip explanations of basic concepts. Be direct, technical, and concise. +- **Direct Action:** Edit files directly to fulfill requests. Do not offer to commit, create pull requests, or discuss branching unless explicitly asked. +- **Code Comments:** Use them sparingly. Only explain complex "why" logic. Never explain "what" the code is doing. +- **Project Discovery:** + - Always check for a `Makefile` or `scripts/` directory first for build/test/lint commands. + - Identify language stacks via manifests (`package.json`, `go.mod`, `Cargo.toml`, `requirements.txt`). +- **Language Defaults:** + - **Ruby:** Assume `bundler`. + - **Python:** Assume `virtualenv`. + - **Node.js:** Check for `package-lock.json` (npm) vs `yarn.lock`. + - **Go:** Assume `go modules`. +- **Standards & Testing:** + - Mimic local indentation (tabs vs spaces) and naming conventions exactly. + - Always write a test if a framework exists. Match the existing style (e.g., table-driven tests in Go). + - Respect `.gitignore` and `.editorconfig`. +- **Shell Usage:** Prefer non-interactive commands with silent/quiet flags (e.g., `apt-get -y`, `npm install --quiet`). \ No newline at end of file