Efficient codebase investigation for rapid-go. Use when understanding existing code before modifications, tracing request flows from API to database, finding where functionality is implemented, or analyzing impact before changes. ALWAYS use before modifying existing code, fixing bugs, or adding features.
Proto (API contract) -> Handler -> Usecase -> Repository -> DB
Use this flow to trace any feature. Start from what you know.
| What | Where |
|------|-------|
| API contracts | schema/proto/rapid/{admin_api,public_api,debug_api}/v1/ |
| Handlers | internal/infrastructure/grpc/internal/handler/{admin,public,debug}/ |
| Usecases | internal/usecase/*_impl.go |
| Domain models | internal/domain/model/ |
| Repository interfaces | internal/domain/repository/ |
| Repository implementations | internal/infrastructure/{mysql,postgresql,spanner}/repository/ |
| DI wiring | internal/infrastructure/dependency/dependency.go |
| Auth interceptors | internal/infrastructure/grpc/internal/interceptor/ |
# Find by HTTP path
grep "/admin/v1/tenants" schema/proto/rapid/
# Find by RPC name
grep "CreateTenant" internal/infrastructure/grpc/internal/handler/admin/
schema/proto/rapid/**/api.protointernal/infrastructure/grpc/internal/handler/{actor}/internal/usecase/*_impl.gointernal/domain/repository/ (interface) and internal/infrastructure/*/repository/ (impl)# Find usages of a domain model
grep "model.Staff" internal/
# Find usages of a repository method
grep "staffRepository.Get" internal/usecase/
internal/infrastructure/grpc/internal/interceptor/session_interceptor/internal/infrastructure/grpc/internal/interceptor/authorization_interceptor/param.AdminRole.IsRoot() patternsinternal/domain/repository/internal/infrastructure/*/repository/internal/usecase/internal/domain/repository/mock/| Goal | Search |
|------|--------|
| Find entity by name | grep "type Staff struct" internal/domain/model/ |
| Find error definition | grep "StaffNotFoundErr" internal/domain/errors/ |
| Find input validation | grep "type AdminCreateStaff" internal/usecase/input/ |
| Find marshaller | grep "StaffToModel\|StaffToPb" internal/ |
| Find DI registration | grep "AdminStaffInteractor" internal/infrastructure/dependency/ |
dependency.go to understand how components are wiredSearch for places (restaurants, cafes, etc.) via Google Places API proxy on localhost.
Interact with GitHub using the `gh` CLI. Use `gh issue`, `gh pr`, `gh run`, and `gh api` for issues, PRs, CI runs, and advanced queries.
Create or update AgentSkills. Use when designing, structuring, or packaging skills with scripts, references, and assets.
Start voice calls via the OpenClaw voice-call plugin.
Notion API for creating and managing pages, databases, and blocks.
Gemini CLI for one-shot Q&A, summaries, and generation.
Category:developer