Files
msd-core/docs/features/codebase-mapping.md
Jakub Zych a9a7a328e6 refactor: hard-fork GSD -> MSD (Make Software Done)
Mechanical rename produced by scripts/msd-rename.cjs: gsd/Gsd/GSD -> msd/Msd/MSD
across contents and paths, upstream package/repo coordinates -> @golem15/msd-core
and golem15com/msd-core. Deep links into upstream history, sibling upstream
packages, the GSD-2 import feature, CHANGELOG.md and .changeset/ are kept as-is.

Hand edits on top: MSD block-letter banner and logos, LICENSE copyright line,
package/plugin identity, regenerated lockfile, install-tree fixtures, derived
registries and benchmark baseline; migration checksum baseline re-locked
(MSD keeps its own install state, so no install had applied the old sums);
sort-order and regex-escaped expectations in tests adjusted.
2026-10-06 01:47:40 +02:00

1.7 KiB

id, title, group
id title group
27 Codebase Mapping Brownfield Features

Command: /msd-map-codebase [area]

Purpose: Analyze an existing codebase before starting a new project or as the mapping handoff from /msd-onboard, so MSD understands what exists.

Requirements:

  • REQ-MAP-01: System MUST spawn parallel mapper agents for each analysis area
  • REQ-MAP-02: System MUST produce structured documents in .planning/codebase/
  • REQ-MAP-03: System MUST detect: tech stack, architecture patterns, coding conventions, concerns
  • REQ-MAP-04: Subsequent /msd-new-project MUST load codebase mapping and focus questions on what's being added
  • REQ-MAP-05: Optional [area] argument MUST scope mapping to a specific area

Produces:

Document Content
STACK.md Languages, frameworks, databases, infrastructure
ARCHITECTURE.md Patterns, layers, data flow, boundaries
CONVENTIONS.md Naming, file organization, code style, testing patterns
CONCERNS.md Technical debt, security issues, performance bottlenecks
STRUCTURE.md Directory layout and file organization
TESTING.md Test infrastructure, coverage, patterns
INTEGRATIONS.md External services, APIs, third-party dependencies

Incremental remap — --paths (#2003): The mapper accepts an optional --paths <p1,p2,...> scope hint. When provided, it restricts exploration to the listed repo-relative prefixes instead of scanning the whole tree. This is the pathway used by the post-execute codebase-drift gate to refresh only the subtrees the phase actually changed. Each produced document carries last_mapped_commit in its YAML frontmatter so drift can be measured against the mapping point, not HEAD.