npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

specify-cli

v0.1.0

Published

AI-powered Specification-Driven Development (SDD) CLI for enhanced productivity

Readme

specify-cli

AI-powered Specification-Driven Development (SDD) CLI for enhanced productivity

oclif Version Downloads/week

What is Specify CLI?

Specify CLI is an AI-powered command-line tool that implements Specification-Driven Development (SDD) methodology. It helps developers and teams enhance productivity by:

  • 🤖 AI-powered specification generation - Create detailed PRDs and technical specifications
  • 📋 Task breakdown and estimation - Automatically decompose requirements into actionable tasks
  • 🔍 Research and knowledge management - AI-assisted research and documentation
  • Specification validation - Ensure completeness and consistency of requirements
  • 🏢 Team collaboration - Workspace management with version control integration

Key Features

  • Authentication System: Secure API key management with profile support
  • Workspace Management: Initialize and manage project workspaces with templates
  • AI Document Generation: Create PRDs, technical specs, and task breakdowns
  • Research Assistant: AI-powered research queries with structured output
  • Validation Tools: Automated specification quality checking
  • AWS CLI Style Interface: Familiar command structure for developers

Usage

$ npm install -g specify-cli
$ spec COMMAND
running command...
$ spec (--version)
specify-cli/0.1.0 darwin-arm64 node-v22.11.0
$ spec --help [COMMAND]
USAGE
  $ spec COMMAND
...

Quick Start

  1. Authenticate with Specify.app

    spec auth login
  2. Initialize a new workspace

    spec workspace init
  3. Generate a Product Requirements Document

    spec generate prd
  4. Break down specifications into tasks

    spec generate tasks
  5. Validate your specifications

    spec validate spec

Commands

spec auth login

Authenticate with Specify.app and configure API key

USAGE
  $ spec auth login [-k <value>] [-p <value>]

FLAGS
  -k, --api-key=<value>  API key for authentication
  -p, --profile=<value>  [default: default] Profile name for multiple configurations

DESCRIPTION
  Authenticate with Specify.app and configure API key

EXAMPLES
  $ spec auth login

  $ spec auth login --api-key YOUR_API_KEY

See code: src/commands/auth/login.ts

spec auth logout

Remove authentication credentials

USAGE
  $ spec auth logout [-p <value>] [-a]

FLAGS
  -a, --all              Logout from all profiles
  -p, --profile=<value>  [default: default] Profile name to logout from

DESCRIPTION
  Remove authentication credentials

EXAMPLES
  $ spec auth logout

  $ spec auth logout --profile production

See code: src/commands/auth/logout.ts

spec auth status

Show current authentication status

USAGE
  $ spec auth status [-p <value>]

FLAGS
  -p, --profile=<value>  [default: default] Profile name to check

DESCRIPTION
  Show current authentication status

EXAMPLES
  $ spec auth status

  $ spec auth status --profile production

See code: src/commands/auth/status.ts

spec generate prd

Generate Product Requirements Document (PRD) using AI

USAGE
  $ spec generate prd [-i <value>] [-o <value>] [--interactive] [-t standard|agile|lean|enterprise]

FLAGS
  -i, --input=<value>      [default: specs/project.md] Input specification file
  -o, --output=<value>     [default: docs/prd.md] Output PRD file
  -t, --template=<option>  [default: standard] PRD template to use
                           <options: standard|agile|lean|enterprise>
      --interactive        Interactive mode with AI chat

DESCRIPTION
  Generate Product Requirements Document (PRD) using AI

EXAMPLES
  $ spec generate prd

  $ spec generate prd --input specs/project.md --output docs/prd.md

See code: src/commands/generate/prd.ts

spec generate tasks

Break down specifications into actionable tasks

USAGE
  $ spec generate tasks [-i <value>] [-o <value>] [-f markdown|json|csv] [-p high|medium|low] [--estimate]

FLAGS
  -f, --format=<option>    [default: markdown] Output format
                           <options: markdown|json|csv>
  -i, --input=<value>      [default: docs/prd.md] Input specification or PRD file
  -o, --output=<value>     [default: docs/tasks.md] Output tasks file
  -p, --priority=<option>  Filter by priority level
                           <options: high|medium|low>
      --estimate           Include effort estimates

DESCRIPTION
  Break down specifications into actionable tasks

EXAMPLES
  $ spec generate tasks

  $ spec generate tasks --input docs/prd.md --format json

See code: src/commands/generate/tasks.ts

spec help [COMMAND]

Display help for spec.

USAGE
  $ spec help [COMMAND...] [-n]

ARGUMENTS
  COMMAND...  Command to show help for.

FLAGS
  -n, --nested-commands  Include all nested commands in the output.

DESCRIPTION
  Display help for spec.

See code: @oclif/plugin-help

spec plugins

List installed plugins.

USAGE
  $ spec plugins [--json] [--core]

FLAGS
  --core  Show core plugins.

GLOBAL FLAGS
  --json  Format output as json.

DESCRIPTION
  List installed plugins.

EXAMPLES
  $ spec plugins

See code: @oclif/plugin-plugins

spec plugins add PLUGIN

Installs a plugin into spec.

USAGE
  $ spec plugins add PLUGIN... [--json] [-f] [-h] [-s | -v]

ARGUMENTS
  PLUGIN...  Plugin to install.

FLAGS
  -f, --force    Force npm to fetch remote resources even if a local copy exists on disk.
  -h, --help     Show CLI help.
  -s, --silent   Silences npm output.
  -v, --verbose  Show verbose npm output.

GLOBAL FLAGS
  --json  Format output as json.

DESCRIPTION
  Installs a plugin into spec.

  Uses npm to install plugins.

  Installation of a user-installed plugin will override a core plugin.

  Use the SPEC_NPM_LOG_LEVEL environment variable to set the npm loglevel.
  Use the SPEC_NPM_REGISTRY environment variable to set the npm registry.

ALIASES
  $ spec plugins add

EXAMPLES
  Install a plugin from npm registry.

    $ spec plugins add myplugin

  Install a plugin from a github url.

    $ spec plugins add https://github.com/someuser/someplugin

  Install a plugin from a github slug.

    $ spec plugins add someuser/someplugin

spec plugins:inspect PLUGIN...

Displays installation properties of a plugin.

USAGE
  $ spec plugins inspect PLUGIN...

ARGUMENTS
  PLUGIN...  [default: .] Plugin to inspect.

FLAGS
  -h, --help     Show CLI help.
  -v, --verbose

GLOBAL FLAGS
  --json  Format output as json.

DESCRIPTION
  Displays installation properties of a plugin.

EXAMPLES
  $ spec plugins inspect myplugin

See code: @oclif/plugin-plugins

spec plugins install PLUGIN

Installs a plugin into spec.

USAGE
  $ spec plugins install PLUGIN... [--json] [-f] [-h] [-s | -v]

ARGUMENTS
  PLUGIN...  Plugin to install.

FLAGS
  -f, --force    Force npm to fetch remote resources even if a local copy exists on disk.
  -h, --help     Show CLI help.
  -s, --silent   Silences npm output.
  -v, --verbose  Show verbose npm output.

GLOBAL FLAGS
  --json  Format output as json.

DESCRIPTION
  Installs a plugin into spec.

  Uses npm to install plugins.

  Installation of a user-installed plugin will override a core plugin.

  Use the SPEC_NPM_LOG_LEVEL environment variable to set the npm loglevel.
  Use the SPEC_NPM_REGISTRY environment variable to set the npm registry.

ALIASES
  $ spec plugins add

EXAMPLES
  Install a plugin from npm registry.

    $ spec plugins install myplugin

  Install a plugin from a github url.

    $ spec plugins install https://github.com/someuser/someplugin

  Install a plugin from a github slug.

    $ spec plugins install someuser/someplugin

See code: @oclif/plugin-plugins

spec plugins link PATH

Links a plugin into the CLI for development.

USAGE
  $ spec plugins link PATH [-h] [--install] [-v]

ARGUMENTS
  PATH  [default: .] path to plugin

FLAGS
  -h, --help          Show CLI help.
  -v, --verbose
      --[no-]install  Install dependencies after linking the plugin.

DESCRIPTION
  Links a plugin into the CLI for development.

  Installation of a linked plugin will override a user-installed or core plugin.

  e.g. If you have a user-installed or core plugin that has a 'hello' command, installing a linked plugin with a 'hello'
  command will override the user-installed or core plugin implementation. This is useful for development work.


EXAMPLES
  $ spec plugins link myplugin

See code: @oclif/plugin-plugins

spec plugins remove [PLUGIN]

Removes a plugin from the CLI.

USAGE
  $ spec plugins remove [PLUGIN...] [-h] [-v]

ARGUMENTS
  PLUGIN...  plugin to uninstall

FLAGS
  -h, --help     Show CLI help.
  -v, --verbose

DESCRIPTION
  Removes a plugin from the CLI.

ALIASES
  $ spec plugins unlink
  $ spec plugins remove

EXAMPLES
  $ spec plugins remove myplugin

spec plugins reset

Remove all user-installed and linked plugins.

USAGE
  $ spec plugins reset [--hard] [--reinstall]

FLAGS
  --hard       Delete node_modules and package manager related files in addition to uninstalling plugins.
  --reinstall  Reinstall all plugins after uninstalling.

See code: @oclif/plugin-plugins

spec plugins uninstall [PLUGIN]

Removes a plugin from the CLI.

USAGE
  $ spec plugins uninstall [PLUGIN...] [-h] [-v]

ARGUMENTS
  PLUGIN...  plugin to uninstall

FLAGS
  -h, --help     Show CLI help.
  -v, --verbose

DESCRIPTION
  Removes a plugin from the CLI.

ALIASES
  $ spec plugins unlink
  $ spec plugins remove

EXAMPLES
  $ spec plugins uninstall myplugin

See code: @oclif/plugin-plugins

spec plugins unlink [PLUGIN]

Removes a plugin from the CLI.

USAGE
  $ spec plugins unlink [PLUGIN...] [-h] [-v]

ARGUMENTS
  PLUGIN...  plugin to uninstall

FLAGS
  -h, --help     Show CLI help.
  -v, --verbose

DESCRIPTION
  Removes a plugin from the CLI.

ALIASES
  $ spec plugins unlink
  $ spec plugins remove

EXAMPLES
  $ spec plugins unlink myplugin

spec plugins update

Update installed plugins.

USAGE
  $ spec plugins update [-h] [-v]

FLAGS
  -h, --help     Show CLI help.
  -v, --verbose

DESCRIPTION
  Update installed plugins.

See code: @oclif/plugin-plugins

spec research query [QUERY]

Research and gather information using AI-powered queries

USAGE
  $ spec research query [QUERY] [-t <value>] [-s <value>] [-f markdown|json|text] [-d basic|detailed|comprehensive]

ARGUMENTS
  QUERY  Research query or question

FLAGS
  -d, --depth=<option>   [default: detailed] Research depth level
                         <options: basic|detailed|comprehensive>
  -f, --format=<option>  [default: markdown] Output format
                         <options: markdown|json|text>
  -s, --save=<value>     Save research results to file
  -t, --topic=<value>    Research topic or domain

DESCRIPTION
  Research and gather information using AI-powered queries

EXAMPLES
  $ spec research query "What are the best practices for React state management?"

  $ spec research query --topic "microservices architecture" --save research/microservices.md

See code: src/commands/research/query.ts

spec validate spec

Validate specification documents for completeness and consistency

USAGE
  $ spec validate spec [-f <value>] [-s] [--fix] [--format text|json|markdown]

FLAGS
  -f, --file=<value>     Specific file to validate
  -s, --strict           Enable strict validation mode
      --fix              Automatically fix issues where possible
      --format=<option>  [default: text] Output format for validation results
                         <options: text|json|markdown>

DESCRIPTION
  Validate specification documents for completeness and consistency

EXAMPLES
  $ spec validate spec

  $ spec validate spec --file specs/project.md --strict

See code: src/commands/validate/spec.ts

spec workspace init

Initialize a new Specify workspace in the current directory

USAGE
  $ spec workspace init [-n <value>] [-t web-app|mobile-app|api|cli] [-f]

FLAGS
  -f, --force              Overwrite existing workspace configuration
  -n, --name=<value>       Project name
  -t, --template=<option>  Project template (web-app, mobile-app, api, cli)
                           <options: web-app|mobile-app|api|cli>

DESCRIPTION
  Initialize a new Specify workspace in the current directory

EXAMPLES
  $ spec workspace init

  $ spec workspace init --name "My Project" --template web-app

See code: src/commands/workspace/init.ts

spec workspace status

Show current workspace status and configuration

USAGE
  $ spec workspace status

DESCRIPTION
  Show current workspace status and configuration

EXAMPLES
  $ spec workspace status

See code: src/commands/workspace/status.ts