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)
viewer [--no-open] [--timeout SECONDS] Local read-only browser view of all maps (does not write HTML into the repo)
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.2.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.2.0
File Size Uploaded Provenance Actions
feature_map_cli-1.2.0.tar.gz 57.7 kB With provenance Details for feature_map_cli-1.2.0.tar.gz

Built distribution (wheel)

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

Total release size: 120.6 kB

Release files / feature_map_cli-1.2.0.tar.gz

Download URL feature_map_cli-1.2.0.tar.gz
Size 57.7 kB
Tags Source
SHA-256 checksum
How to use checksums
3535a21a0515cd500ef072137230c4e2aea7ee5ad56a11256d4cf63a0e8b6cfa
BLAKE2b-256 checksum
How to use checksums
a309a83de5d19b52cc617145505956f75ec34b5172952584ce5c76ff8f8bb717
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 Sep 20, 2026.

Transparency log

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

Download URL feature_map_cli-1.2.0-py3-none-any.whl
Size 62.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d9e9591d2aa1ad90902a6c0fafe3587a9e0313a68e29e36aeb868be333273307
BLAKE2b-256 checksum
How to use checksums
8d41c332401e744578438ff9f4508e1832552c9d1cec5a79b397ee19558fa544
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 Sep 20, 2026.

Transparency log

Security for feature-map-cli 1.2.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.2.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 Sep 20, 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