Files
awesome-copilot/skills/acquire-codebase-knowledge/references/inquiry-checkpoints.md
Satya K b8f3822748 Adds a new Agent Skill - Acquire-Codebase-Knowledge (#1373)
* 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
2026-04-14 10:29:57 +10:00

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, Docker FROM line)
  • 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) vs devDependencies (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 main in package.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.test in package.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)