<< All versions
Skill v1.0.0
currentAutomated scan100/100thomwebb/gac/project-nav
──Details
PublishedOctober 14, 2026 at 02:18 AM
Content Hashsha256:6e456eb84797e70a...
Git SHAff7e60807549
──Files
Files (1 file, 5.5 KB)
SKILL.md5.5 KBactive
SKILL.md · 118 lines · 5.5 KB
version: "1.0.0" name: project-nav description: Use when navigating the GAC codebase, finding where code lives, or understanding the project structure. 106 source files, 151 test files. tags: [navigation, project-structure, codebase]
Project Navigation
When to Use
- Finding where specific code lives
- Understanding project structure
- Locating configuration files
- Looking for where to add new features
Structure (106 source files)
gac/src/gac/cli.py # Click CLI entrypointmain.py # Commit workflow orchestrationai.py / ai_utils.py # AI provider integration + retry logicprompt.py / prompt_builder.py # Dual-prompt systemgit.py # Git operationssecurity.py # Secret detectionconfig.py # Config loading (GACConfig TypedDict)errors.py # Exception hierarchy (GACError base)preprocess.py / postprocess.py # Diff preprocessing / message cleanupdiff_scoring.py # Diff relevance scoringproviders/ # 35 provider implementations__init__.py # PROVIDER_REGISTRYbase.py # BaseConfiguredProvider, OpenAICompatibleProvider,# AnthropicCompatibleProvider, GenericHTTPProvidererror_handler.py # @handle_provider_errors decoratorprotocol.py # ProviderProtocolregistry.py # register_provider()openai.py, anthropic.py, gemini.py, ...oauth/ # OAuth authenticationbase.py # Base OAuth flow (19KB)chatgpt.py # ChatGPT OAuthclaude_code.py # Claude Code OAuthcopilot.py # GitHub Copilot OAuthtoken_store.py # Token storage (~/.gac/oauth/)stats/ # Statistics trackingstore.py # Stats file read/writerecorder.py # Usage recordingcommands.py # Stats CLI commandscharts.py # Chart generationsummary.py # Summary formattingmigration.py # Legacy migrationmcp/ # MCP serverserver.py # MCP server implementation (22KB)server_utils.py # Server utilitiesmodels.py # MCP data modelsconstants/ # Constants packagedefaults.py # EnvDefaults, etc.commit.py # Commit format constantsfile_patterns.py # Secret detection patternslanguages.py # Language code mappingsgrouped_commit_*.py # Grouped commit workflow (5 files)*_cli.py # Subcommand CLIs (config, init, diff, model, etc.)workflow_context.py # WorkflowContext dataclasstests/ # 151 test files mirroring src/docs/ # Documentation (16 languages)scripts/ # Automation helpers
This is not exhaustive. Use find src/gac -name "*.py" to explore.
Finding Code
Use system tools directly (NOT uv run — these aren't Python packages):
bash
rg "def generate" src/gac/ # ripgrep for definitionsrg "class.*Provider" src/gac/providers/ # Find provider classesrg "os.getenv" src/gac/ # Find env var usagels src/gac/providers/*.py | grep -v __init__ # List providers
Source to Test Mapping
Tests mirror source but may be split across multiple files:
| Source | Tests | |
|---|---|---|
src/gac/cli.py | tests/test_cli.py | |
src/gac/git.py | tests/test_git.py, tests/test_git_coverage.py, tests/test_git_integration.py | |
src/gac/stats/store.py | tests/test_stats_core.py, tests/test_stats_tracking.py, tests/test_stats_malformed.py, ... (15+ files) | |
src/gac/providers/openai.py | tests/providers/test_openai.py | |
src/gac/mcp/server.py | tests/test_mcp_server.py, tests/test_mcp_utils.py |
Key Entry Points
| Starting from | Read first | |
|---|---|---|
| CLI flags | src/gac/cli.py — Click @click.option decorators | |
| Commit workflow | src/gac/main.py — generate_commit_message() | |
| Provider internals | src/gac/providers/base.py:188 — BaseConfiguredProvider.generate() | |
| Config values | src/gac/config.py — GACConfig TypedDict + load_config() | |
| Error types | src/gac/errors.py — GACError base, AIError, SecurityError |
Navigation Tips
- Provider registry:
from gac.providers import PROVIDER_REGISTRY - Config:
from gac.config import load_config - Provider method is
generate(), returns tuple(content, in_tok, out_tok, in_cost, out_cost) - NEVER edit
~/.gac*files during development