3.7 KiB
3.7 KiB
| description |
|---|
| Create global rules (GEMINI.md) from codebase analysis |
Create Global Rules
Generate a GEMINI.md file by analyzing the codebase and extracting patterns.
Objective
Create project-specific global rules that give Claude context about:
- What this project is
- Technologies used
- How the code is organized
- Patterns and conventions to follow
- How to build, test, and validate
Phase 1: DISCOVER
Identify Project Type
First, determine what kind of project this is:
| Type | Indicators |
|---|---|
| Web App (Full-stack) | Separate client/server dirs, API routes |
| Web App (Frontend) | React/Vue/Svelte, no server code |
| API/Backend | Express/Fastify/etc, no frontend |
| Library/Package | main/exports in package.json, publishable |
| CLI Tool | bin in package.json, command-line interface |
| Monorepo | Multiple packages, workspaces config |
| Script/Automation | Standalone scripts, task-focused |
Analyze Configuration
Look at root configuration files:
package.json → dependencies, scripts, type
tsconfig.json → TypeScript settings
vite.config.* → Build tool
*.config.js/ts → Various tool configs
Map Directory Structure
Explore the codebase to understand organization:
- Where does source code live?
- Where are tests?
- Any shared code?
- Configuration locations?
Phase 2: ANALYZE
Extract Tech Stack
From package.json and config files, identify:
- Runtime/Language (Node, Bun, Deno, browser)
- Framework(s)
- Database (if any)
- Testing tools
- Build tools
- Linting/formatting
Identify Patterns
Study existing code for:
- Naming: How are files, functions, classes named?
- Structure: How is code organized within files?
- Errors: How are errors created and handled?
- Types: How are types/interfaces defined?
- Tests: How are tests structured?
Find Key Files
Identify files that are important to understand:
- Entry points
- Configuration
- Core business logic
- Shared utilities
- Type definitions
Phase 3: GENERATE
Create GEMINI.md
Use the template at .agents/GEMINI-template.md as a starting point.
Output path: GEMINI.md (project root)
Adapt to the project:
- Remove sections that don't apply
- Add sections specific to this project type
- Keep it concise - focus on what's useful
Key sections to include:
- Project Overview - What is this and what does it do?
- Tech Stack - What technologies are used?
- Commands - How to dev, build, test, lint?
- Structure - How is the code organized?
- Patterns - What conventions should be followed?
- Key Files - What files are important to know?
Optional sections (add if relevant):
- Architecture (for complex apps)
- API endpoints (for backends)
- Component patterns (for frontends)
- Database patterns (if using a DB)
- On-demand context references
Phase 4: OUTPUT
## Global Rules Created
**File**: `GEMINI.md`
### Project Type
{Detected project type}
### Tech Stack Summary
{Key technologies detected}
### Structure
{Brief structure overview}
### Next Steps
1. Review the generated `GEMINI.md`
2. Add any project-specific notes
3. Remove any sections that don't apply
4. Optionally create reference docs in `.agents/reference/`
Tips
- Keep GEMINI.md focused and scannable
- Don't duplicate information that's in other docs (link instead)
- Focus on patterns and conventions, not exhaustive documentation
- Update it as the project evolves