GC-301a · Module 3
Per-Developer Overrides
3 min read
The global GEMINI.md at ~/.gemini/GEMINI.md is your personal layer — instructions that apply across every project. This is where you encode your individual working style: preferred response verbosity, default language preferences, personal coding idioms, and workflow-specific rules. The global layer sits beneath every project-level config, so project rules always override your personal preferences when they conflict. This is the correct behavior — team standards should beat individual preferences.
For project-specific personal overrides — rules that apply only to one project but are not shared with the team — use a gitignored GEMINI.md file or rely on /memory add at session start. Some teams maintain a .gemini/GEMINI.local.md convention (gitignored) for this purpose. The file is not automatically loaded by Gemini CLI, but a custom command can source it at session start. This gives you a persistent, project-scoped personal config without polluting the shared configuration.
# Personal Defaults (applies to all projects)
## Response Style
- Be concise. Skip preamble. Lead with the answer.
- Use code blocks with filenames for every file modification.
- Show diffs when modifying existing code, full files when creating new ones.
## Personal Conventions
- I prefer explicit return types on all TypeScript functions.
- I use single quotes in JavaScript/TypeScript.
- When writing tests, use descriptive names: "should reject expired tokens."
## Workflow
- After every file modification, run the relevant test file automatically.
- When I say "ship it," commit with a conventional commit message and push.
- When I say "review this," switch to code review mode — critique only, no changes.
Do This
- Keep global GEMINI.md under 50 lines — focused on style and workflow, not project details
- Use gitignored local files for project-specific personal overrides
- Test your global config across multiple projects to ensure rules are truly universal
Avoid This
- Put project-specific rules in your global config — they will leak into other projects
- Skip the global config and repeat the same instructions at the start of every session
- Override team rules in your global config — project-level rules should win, and they do