features-cli 0.4.16

A CLI tool for discovering the features in a folder
Documentation

Features CLI

A CLI tool for discovering and managing features in a feature-based architecture project by detecting README.md or README.mdx files in directories.

Getting Started

npm install -g features-cli
# or
cargo binstall features-cli


features /path/to/project # list all features in the directory and subdirectories

Feature Detection

The CLI automatically detects features by scanning directories for README.md or README.mdx files. Any directory containing a README file is considered a feature, with the following rules:

  • README formats: Supports both README.md and README.mdx files
  • Metadata parsing: Extracts owner and metadata from YAML frontmatter
  • Description extraction: Uses content after the first heading as feature description
  • Nested features: Supports hierarchical feature organization
  • Documentation exclusion: Ignores README files in documentation directories (docs, docs, decisions, etc.)

README Format Example

---
owner: Team Name
figma: https://www.figma.com/file/1234567890/Feature-Name?node-id=0%3A1
status: active
version: 1.0.0
tags: ["authentication", "security"]
---

# Feature Name

This is the feature description that will be extracted by the CLI.

## Additional sections are included in the description

Commands and their descriptions are listed below:

Command Description
--json Output features as JSON
--flat Output features as a flat array instead of nested structure
--description Include feature descriptions in the output. The description is automatically included in the json format
--list-owners Display only unique list of owners
--check Run validation checks on features (e.g., duplicate names)
--serve Start an HTTP server to serve features and the web dashboard UI
--serve --port 8080 Start an HTTP server on specified port
--build Build a static version of the web dashboard UI

Contributing

From the CLI directory:


cargo run ../../examples/javascript-basic/src/features

# For the web dashboard
cd ../web
pnpm build_for_cli
cd ../cli

cargo run ../../examples/javascript-basic/src/features --serve # for the Web dashboard

Deploy

cd ../web
pnpm build_for_cli
cd ../cli

cargo publish --allow-dirty