Skip to main content

Feature Map

Cross-app architecture research CLI. Agents and engineers keep authoritative feature maps in .features/*.yaml; feature-map lists, searches, validates, and graphs them.

A wiki stores architecture as prose — agents re-read a whole page to find three files. Feature Map stores fields (purpose, entry_points, apps) and a CLI that returns names and sections, so lookup is cheap and check can prove paths still exist.

Install

pip install feature-map-cli
npm install -g feature-map-cli
brew install markschellhas/tap/feature-map

Requires Python 3.8+ and PyYAML (the npm package installs the PyPI CLI into a local venv). The CLI is feature-map. Install from PyPI or npm as feature-map-cli — pip install featuremap is a different (biology) project, and feature-map is blocked on PyPI as too similar to that name.

Usage

cd my-repo
feature-map init
feature-map init auth          # scaffold .features/auth.yaml
feature-map list
feature-map search billing
feature-map validate

feature-map init is idempotent. It:

  1. Creates .features/
  2. Copies the agent skill to .agents/skills/feature-map/ (or .grok/skills/ if that tree already exists), and mirrors it into any other known harness directory the repo already uses
  3. Adds extra copies for --skill-dir DIR / skill_dirs: targets
  4. Writes .feature-map.yaml defaults when missing
  5. Appends an AGENTS.md block naming the skill's path (skip with --no-agents)
  6. Writes bin/feature-map as a repo-local shim (skip with --no-shim)
  7. Offers to launch your agent harness (claude, cursor-agent, opencode, grok, codex, gemini, pi) to scour the repo and author the first maps. Skip the prompt with -y and pick a harness directly with -h <name> (e.g. feature-map init -y -h claude).

Skill directories are harness-neutral. .agents/skills/ stays the primary target; a known harness is additionally mirrored only when the repo already uses it (its config directory exists), so init never seeds an agent tree nobody asked for. Known: .agents/skills, .claude/skills, .grok/skills. For anything else, name it yourself — --skill-dir .my-agent/skills, or skill_dirs: in .feature-map.yaml — and it is always written.

Upgrade the CLI, then refresh the skill (every location) after a new package version:

feature-map update
feature-map init --upgrade-skill

Commands

Command Purpose
list All feature slugs
show <name> / <name> Print a map (or --section)
search <query> Full-text search
find <path> Reverse lookup by path fragment
graph [name] related_features graph (mermaid, json, dot)
validate [--strict] Structural checks
check Stale entry_points / core_components paths
impact <file> Which maps reference a file
stats Coverage summary
init [-y] [-h <harness>] [--skill-dir DIR] Bootstrap repo; optionally launch a harness to author maps
init <name> [--force] Scaffold a map from the template
install Setup status
update Upgrade this CLI via pip, npm, brew, pipx, or uv
--json / --version Machine output / version

Exit codes: 0 ok, 1 user error, 2 validation failure (--strict).

Per-repo config

.feature-map.yaml at the git root:

features_dir: .features
apps:
  - api
  - web
required_sections:
  - purpose
  - entry_points
min_cli_version: "1.0.0"
skill_dirs:
  - .my-agent/skills

apps prefixes are used by check when resolving paths. skill_dirs adds skill mirror targets for harnesses the CLI does not know about.

Develop

pip install -e ".[dev]"
python -m pytest -q

License

MIT

Metadata

Release files for feature-map-cli 1.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for feature-map-cli 1.1.0
File Size Uploaded Provenance Actions
feature_map_cli-1.1.0.tar.gz 45.2 kB With provenance Details for feature_map_cli-1.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for feature-map-cli 1.1.0
File Interpreter ABI Platform Actions
feature_map_cli-1.1.0-py3-none-any.whl Python 3 none any Details for feature_map_cli-1.1.0-py3-none-any.whl

Total release size: 97.1 kB

Release files / feature_map_cli-1.1.0.tar.gz

Download URL feature_map_cli-1.1.0.tar.gz
Size 45.2 kB
Tags Source
SHA-256 checksum
How to use checksums
558561268959b702521b8a904fabe15ad3203dc7083326a4f4bdca611c56a914
BLAKE2b-256 checksum
How to use checksums
70ccb644d027df1838cf426108ca851e954daa8630c7101e42efa04c59230bb1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

Release files / feature_map_cli-1.1.0-py3-none-any.whl

Download URL feature_map_cli-1.1.0-py3-none-any.whl
Size 51.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3a7b99529f892de792c44def1c09a751ec64733584b8f895ab2b9f41465ed552
BLAKE2b-256 checksum
How to use checksums
c74d4906f7101d118b874b6a6958087dcb0e2950cc799fb87828bf77f954515f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

Security for feature-map-cli 1.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for feature_map_cli-1.1.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 30, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page