|
| 1 | +language: "en-US" |
| 2 | + |
| 3 | +tone_instructions: | |
| 4 | + Be concise and direct. Focus on bugs and security issues over style. |
| 5 | +
|
| 6 | +early_access: true |
| 7 | +enable_free_tier: true |
| 8 | + |
| 9 | +reviews: |
| 10 | + profile: "assertive" |
| 11 | + |
| 12 | + auto_review: |
| 13 | + enabled: true |
| 14 | + auto_incremental_review: true |
| 15 | + drafts: false |
| 16 | + ignore_title_keywords: |
| 17 | + - "bump version" |
| 18 | + - "release" |
| 19 | + - "chore: bump" |
| 20 | + |
| 21 | + high_level_summary: true |
| 22 | + poem: false |
| 23 | + collapse_walkthrough: false |
| 24 | + sequence_diagrams: false |
| 25 | + |
| 26 | + request_changes_workflow: true |
| 27 | + suggested_labels: true |
| 28 | + suggested_reviewers: false |
| 29 | + auto_apply_labels: false |
| 30 | + |
| 31 | + path_filters: |
| 32 | + - "!node_modules/**" |
| 33 | + - "!package-lock.json" |
| 34 | + - "!*.lock" |
| 35 | + - "!.DS_Store" |
| 36 | + |
| 37 | + path_instructions: |
| 38 | + - path: "agents/**/*.md" |
| 39 | + instructions: | |
| 40 | + Gemini CLI agent definitions. The YAML frontmatter `tools:` array must |
| 41 | + contain either: |
| 42 | + (a) a valid Gemini CLI built-in tool: read_file, read_many_files, |
| 43 | + write_file, replace, glob, search_file_content, list_directory, |
| 44 | + run_shell_command, save_memory, web_fetch, google_web_search; or |
| 45 | + (b) an MCP tool in the form `mcp__<server>__<tool_name>`. |
| 46 | + Reject Claude-style names like `search_files`, `replace_in_file`, `Read`, |
| 47 | + `Edit`. Also flag when the agent body references MCP tools (e.g. Slack, |
| 48 | + Context7) that are not declared in the frontmatter `tools:` array — the |
| 49 | + agent will be unable to call them at runtime. Each agent must have `name` |
| 50 | + and `description` in frontmatter. |
| 51 | + - path: "commands/**/*.toml" |
| 52 | + instructions: | |
| 53 | + Gemini CLI command definitions in TOML format. Verify command metadata |
| 54 | + is consistent and shell snippets are safely quoted. |
| 55 | + - path: "skills/**/*.md" |
| 56 | + instructions: | |
| 57 | + Skill definitions. Frontmatter must include `name` and `description`. |
| 58 | + The document body (not the frontmatter) should contain a "When to Use" |
| 59 | + or "Ideal For" section with specific, actionable trigger conditions. |
| 60 | + - path: "hooks/**" |
| 61 | + instructions: | |
| 62 | + Hook scripts and hooks.json. Hooks run automatically on tool events — |
| 63 | + any failure impacts all sessions. Verify error handling, quiet logging, |
| 64 | + and that exit codes are intentional. |
| 65 | + - path: "scripts/**" |
| 66 | + instructions: | |
| 67 | + Shell scripts must use `set -euo pipefail`, quote all variables, and |
| 68 | + avoid interpolating shell variables into `node -e` strings (use |
| 69 | + `process.env` instead). JS scripts target Node.js 20+. |
| 70 | + - path: "rules/**/*.md" |
| 71 | + instructions: | |
| 72 | + Coding rules shipped to end users' ~/.gemini/rules/. Cross-references |
| 73 | + between `common/` and language-specific files must use relative paths |
| 74 | + (`../common/xxx.md`) and those targets must exist. |
| 75 | + - path: "docs/**/*.md" |
| 76 | + instructions: | |
| 77 | + User-facing documentation. Tool-name mapping tables (Claude Code ↔ Gemini |
| 78 | + CLI) must list only valid Gemini CLI tool names — incorrect mappings here |
| 79 | + propagate into agent/skill definitions. |
| 80 | + - path: "**/*.js" |
| 81 | + instructions: | |
| 82 | + Node.js 20+ project. Use `node:` prefix for built-in modules. Avoid |
| 83 | + mutation — prefer spread/immutable patterns. Handle errors explicitly; |
| 84 | + never swallow silently. |
| 85 | +
|
| 86 | + labeling_instructions: |
| 87 | + - label: "security" |
| 88 | + instructions: "Changes to hooks, scripts executing shell commands, or handling of user config/credential paths" |
| 89 | + - label: "breaking" |
| 90 | + instructions: "Changes to command names, agent tool names, hook event contracts, or public file layout under ~/.gemini/" |
| 91 | + - label: "agents" |
| 92 | + instructions: "Changes under agents/" |
| 93 | + - label: "skills" |
| 94 | + instructions: "Changes under skills/" |
| 95 | + - label: "commands" |
| 96 | + instructions: "Changes under commands/" |
| 97 | + - label: "docs" |
| 98 | + instructions: "Changes under docs/ or top-level markdown files only" |
| 99 | + |
| 100 | + tools: |
| 101 | + shellcheck: |
| 102 | + enabled: true |
| 103 | + gitleaks: |
| 104 | + enabled: true |
| 105 | + markdownlint: |
| 106 | + enabled: true |
| 107 | + eslint: |
| 108 | + enabled: true |
| 109 | + |
| 110 | +chat: |
| 111 | + auto_reply: true |
| 112 | + |
| 113 | +knowledge_base: |
| 114 | + learnings: |
| 115 | + scope: "local" |
0 commit comments