
Company News
Free Business Plan Upgrades for Open Source Maintainers
Open source maintainers are under more pressure than ever. We're raising our open source program from the Team plan to the Business plan, free.
@locus-dev/cli
Advanced tools
Command-line tool for managing stories.yaml — init, list, add, audit, sync, coverage, validate
Command-line tool for managing stories.yaml — a specification format for software requirements that lives in your repo as the single source of truth. Like unit tests, but for what the product is supposed to do.
npm i -g @locus-dev/cli
locus init Create a stories.yaml scaffold in the current repo
locus list List all stories (table format)
locus add Interactive story creation wizard
locus onboard Multi-source generator: GitHub + Linear + Jira + free text
locus infer Infer stories.yaml from a codebase or GitHub repo
locus audit Detect drift between code and stories.yaml
locus coverage Show coverage % and breakdown
locus validate Validate stories.yaml against the spec
locus sync --linear Push stories to Linear
locus sync --github Push stories to GitHub Issues
locus sync --jira Push stories to Jira
locus sync --notion Push/pull stories with Notion
Solves the cold-start problem: connect existing sources and Locus generates a coherent stories.yaml.
# From a GitHub repo (reads tests, routes, README)
locus onboard --github myorg/myrepo --output stories.yaml
# From a local directory
locus onboard --dir ./src --output stories.yaml
# From Linear issues
LINEAR_API_KEY=lin_api_xxx locus onboard --linear --output stories.yaml
# Full multi-source: GitHub + Linear + free-text description
LINEAR_API_KEY=lin_api_xxx \
locus onboard \
--github myorg/myrepo \
--linear \
--text "Users can sign up, create projects, invite teammates" \
--output stories.yaml
# Cold start: just describe your product
locus onboard --text "Users can sign in with Google, manage projects, assign tasks" --output stories.yaml
Each generated story is annotated with _confidence, _sources, and any _conflicts found across sources. Review and remove annotations before committing.
locus init
Creates a stories.yaml with the Locus JSON Schema header so editors validate it inline.
locus list
locus list --status not-implemented
locus list --section Auth
locus list --json
Interactive:
locus add
Or with flags (non-interactive):
locus add --id auth-sso --title "SSO login" --section Auth --status not-implemented
Scan your codebase and flag stories that may be drifting from reality:
locus audit
locus audit --dir ./src --ext ts,tsx
locus audit --story auth-sso
locus audit --json
locus coverage
locus coverage --section Auth
locus coverage --json
locus validate
Exits non-zero on any error — safe to add to CI.
Push stories to your issue tracker:
# Linear
LINEAR_API_KEY=lin_api_xxx locus sync --linear
# GitHub Issues
GITHUB_TOKEN=ghp_xxx GITHUB_REPOSITORY=owner/repo locus sync --github
# Jira
JIRA_HOST=https://acme.atlassian.net \
JIRA_EMAIL=user@example.com \
JIRA_TOKEN=xxx \
JIRA_PROJECT_KEY=LOCUS \
locus sync --jira
# Notion — push stories.yaml → Notion database (upsert)
NOTION_TOKEN=secret_xxx \
NOTION_DATABASE_ID=your-database-id \
locus sync --notion
# Notion — pull Notion rows → stories.yaml (new stories only)
NOTION_TOKEN=secret_xxx \
NOTION_DATABASE_ID=your-database-id \
locus sync --notion --pull
Your Notion database needs these properties:
| Property | Type | Notes |
|---|---|---|
| Name | title | Page title (auto-populated) |
| Story ID | text | Canonical story identifier |
| Status | select | Not Implemented / Partial / Implemented / Stale / Deprecated |
| Priority | select | Critical / High / Medium / Low |
| Description | text | Optional |
| Section | text | Optional |
| Depends On | text | Optional |
| Design Ref | url | Optional |
Share the database with your Notion integration (Settings → Integrations).
locus discovers stories.yaml automatically:
LOCUS_STORIES_PATH env var (explicit path)stories.yaml / stories.yml / stories.json in current directoryMIT
FAQs
Command-line tool for managing stories.yaml — init, list, add, audit, sync, coverage, validate
We found that @locus-dev/cli demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Company News
Open source maintainers are under more pressure than ever. We're raising our open source program from the Team plan to the Business plan, free.

Security News
The supply chain control that delays freshly published gems now covers lockfile generation and gem vendoring in Ruby projects.

Security News
During a UK cyber test, a Mythos 5 agent used sockpuppets, social engineering, and prompt injection to try to get a maintainer to merge malware.