GC-301i · Module 1

Shared Configurations

3 min read

A shared Gemini CLI configuration is the foundation of consistent AI-assisted development across a team. The configuration has three layers: GEMINI.md (project context and rules), .gemini/settings.json (MCP servers, tool permissions, model preferences), and .gemini/commands/ (team slash commands). All three are checked into version control and code-reviewed like any other codebase artifact. When a developer clones the repo and runs Gemini CLI, they inherit the entire team configuration automatically — no setup docs to follow, no manual config to copy.

The shared configuration must distinguish between project facts and team opinions. Facts go in the shared config: "this is a React 19 + TypeScript strict project," "run npm test before committing," "API routes follow REST conventions." Opinions stay in personal overrides: preferred model, response verbosity, code style preferences that go beyond the project linter. The litmus test: would a new hire need to know this on day one? If yes, it belongs in the shared config. If it is personal preference, it belongs in AGENTS.override.md or ~/.gemini/.

# Team Gemini CLI configuration structure

SHARED (checked into git, code-reviewed)
├── GEMINI.md                          → Project architecture, conventions, rules
├── .gemini/
│   ├── settings.json                  → MCP servers, tool config, model defaults
│   └── commands/
│       ├── review.toml                → Standard code review workflow
│       ├── test-gen.toml              → Test generation with project conventions
│       ├── deploy-check.toml          → Pre-deployment validation
│       ├── commit-msg.toml            → Commit message generation
│       └── onboard.toml               → New developer onboarding guide
└── .geminiignore                      → Files excluded from context

PERSONAL (gitignored)
├── AGENTS.override.md                 → Personal rule overrides
└── ~/.gemini/
    ├── GEMINI.md                      → Global personal preferences
    ├── settings.json                  → Personal MCP servers, model prefs
    └── commands/
        └── my-workflow.toml           → Personal productivity commands