mirror of
https://github.com/github/awesome-copilot.git
synced 2026-04-15 04:35:55 +00:00
* feat(skill): add acquire-codebase-knowledge skill documentation * feat(templates): add architecture, concerns, conventions, integrations, stack, structure, and testing documentation templates * feat(references): add inquiry checkpoints and stack detection documentation * feat(scan): add script to collect project discovery information for acquire-codebase-knowledge skill * feat(skills): add acquire-codebase-knowledge skill for codebase mapping and documentation * feat(scan): enhance scan script with absolute path handling and improved output variable validation * feat(scan): replace bash script with Python script for project discovery information collection * feat(skills): update acquire-codebase-knowledge skill to replace scan.sh with scan.py
4.1 KiB
4.1 KiB
Inquiry Checkpoints
Per-template investigation questions for Phase 2 of the acquire-codebase-knowledge workflow. For each template area, look for answers in the scan output first, then read source files to fill gaps.
1. STACK.md — Tech Stack
- What is the primary language and exact version? (check
.nvmrc,go.mod,pyproject.toml, DockerFROMline) - What package manager is used? (
npm,yarn,pnpm,go mod,pip,uv) - What are the core runtime frameworks? (web server, ORM, DI container)
- What do
dependencies(production) vsdevDependencies(dev tooling) contain? - Is there a Docker image and what base image does it use?
- What are the key scripts in
package.json/Makefile/pyproject.toml?
2. STRUCTURE.md — Directory Layout
- Where does source code live? (usually
src/,lib/, or project root for Go) - What are the entry points? (check
maininpackage.json,scripts.start,cmd/main.go,app.py) - What is the stated purpose of each top-level directory?
- Are there non-obvious directories (e.g.,
eng/,platform/,infra/)? - Are there hidden config directories (
.github/,.vscode/,.husky/)? - What naming conventions do directories follow? (camelCase, kebab-case, domain-based vs layer-based)
3. ARCHITECTURE.md — Patterns
- Is the code organized by layer (controllers → services → repos) or by feature?
- What is the primary data flow? Trace one request or command from entry to data store.
- Are there singletons, dependency injection patterns, or explicit initialization order requirements?
- Are there background workers, queues, or event-driven components?
- What design patterns appear repeatedly? (Factory, Repository, Decorator, Strategy)
4. CONVENTIONS.md — Coding Standards
- What is the file naming convention? (check 10+ files — camelCase, kebab-case, PascalCase)
- What is the function and variable naming convention?
- Are private methods/fields prefixed (e.g.,
_methodName,#field)? - What linter and formatter are configured? (check
.eslintrc,.prettierrc,golangci.yml) - What are the TypeScript strictness settings? (
strict,noImplicitAny, etc.) - How are errors handled at each layer? (throw vs. return structured error)
- What logging library is used and what is the log message format?
- How are imports organized? (barrel exports, path aliases, grouping rules)
5. INTEGRATIONS.md — External Services
- What external APIs are called? (search for
axios.,fetch(,http.Get(, base URLs in constants) - How are credentials stored and accessed? (
.env, secrets manager, env vars) - What databases are connected? (check manifest for
pg,mongoose,prisma,typeorm,sqlalchemy) - Is there an API gateway, service mesh, or proxy between the app and external services?
- What monitoring or observability tools are used? (APM, Prometheus, logging pipeline)
- Are there message queues or event buses? (Kafka, RabbitMQ, SQS, Pub/Sub)
6. TESTING.md — Test Setup
- What test runner is configured? (check
scripts.testinpackage.json,pytest.ini,go test) - Where are test files located? (alongside source, in
tests/, in__tests__/) - What assertion library is used? (Jest expect, Chai, pytest assert)
- How are external dependencies mocked? (jest.mock, dependency injection, fixtures)
- Are there integration tests that hit real services vs. unit tests with mocks?
- Is there a coverage threshold enforced? (check
jest.config.js,.nycrc,pyproject.toml)
7. CONCERNS.md — Known Issues
- How many TODOs/FIXMEs/HACKs are in production code? (see scan output)
- Which files have the highest git churn in the last 90 days? (see scan output)
- Are there any files over 500 lines that mix multiple responsibilities?
- Do any services make sequential calls that could be parallelized?
- Are there hardcoded values (URLs, IDs, magic numbers) that should be config?
- What security risks exist? (missing input validation, raw error messages exposed to clients, missing auth checks)
- Are there performance patterns that don't scale? (N+1 queries, in-memory caches in multi-instance setups)