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

@tailor-platform/erp-kit

v0.8.0

Published

Opinionated ERP toolkit for building business applications on Tailor Platform

Readme

@tailor-platform/erp-kit

CLI tool for validating, generating, syncing module documentation, and managing mock API servers.

Install

npm install @tailor-platform/erp-kit

Quick Start

# Set up your repo (agent skills, workflows, project structure)
erp-kit init my-project

# Update framework resources
erp-kit update

# Browse module documentation
erp-kit doc modules
erp-kit doc module organization
erp-kit doc module organization command CreateCompany

# Validate module docs against schemas
erp-kit module check --path src/modules

# Check source ↔ doc correspondence
erp-kit module sync-check --path src/modules

# Bootstrap a new module
erp-kit module init inventory src/modules

# Generate a new module doc from template
erp-kit module generate doc --path src/modules/inventory command createOrder

# Validate app docs
erp-kit app check --path examples/my-app

# Check dependency licenses
erp-kit license check --config license.config.json

# List available license groups
erp-kit license list

# Start mock API servers
erp-kit mock start

# Validate mock configs
erp-kit mock validate

Commands

init

First-time setup for consumer repos. Fails if already initialized — use erp-kit update to refresh resources.

erp-kit init <name>

Arguments:

  • <name> — Project name (used in package.json)

This will:

  1. Copy agent skills to .agents/skills/
  2. Create symlink .claude/skills.agents/skills/
  3. Copy workflows to .github/workflows/
  4. Scaffold project structure (package.json, pnpm-workspace.yaml, .gitignore, license.config.json, apps/, modules/)

update

Refresh framework resources. Removes stale skills and copies latest versions.

# Update everything (skills + workflows)
erp-kit update

# Update specific resources
erp-kit update skills
erp-kit update workflows

Arguments:

  • [resources...] — (optional) Resources to update (skills, workflows). Defaults to all.

doc

Browse module documentation. Outputs existing docs with minimal transformation — docs are the source of truth.

doc modules

Lists all modules with overview, counts, and dependencies.

erp-kit doc modules
erp-kit doc modules --format json

doc module

Shows documentation for a specific module. Without type/name, outputs the full README and lists available docs. With type and name, outputs the raw doc content.

erp-kit doc module organization
erp-kit doc module organization command CreateCompany
erp-kit doc module organization query GetCompany
erp-kit doc module organization model Company
erp-kit doc module organization feature company-lifecycle
erp-kit doc module organization --format json

Arguments:

  • <name> — Module name
  • [type] — Doc type (command, query, model, feature)
  • [docName] — Doc name
  • --format, -f — Output format (text or json, default: text)

module

Module documentation management.

module check

Validates module markdown documentation against YAML schemas.

erp-kit module check --path src/modules

module sync-check

Ensures every source file has a corresponding doc and vice versa.

erp-kit module sync-check --path src/modules

module init

Bootstraps a new module with directory structure and README.

erp-kit module init inventory src/modules

Arguments:

  • <name> — Module name
  • <dir> — Parent directory where the module will be created

module generate doc

Creates a documentation file from a schema template.

erp-kit module generate doc --path src/modules/inventory feature stock-tracking
erp-kit module generate doc --path src/modules/inventory command createOrder
erp-kit module generate doc --path src/modules/inventory model StockItem
erp-kit module generate doc --path src/modules/inventory query getStockLevel

Arguments:

  • --path, -p <path> — Path to the module directory (required)
  • <type> — Doc type (feature, command, model, query)
  • <name> — Item name

module generate code

Generates boilerplate, implementation stubs, and generated code from docs.

erp-kit module generate code --path src/modules/inventory

app

Application management.

app check

Validates application documentation against YAML schemas.

erp-kit app check --path examples/my-app

app sync-check

Ensures every source file has a corresponding doc and vice versa.

erp-kit app sync-check --path examples/my-app

app init

Bootstraps a new app with directory structure and README.

erp-kit app init my-app examples

Arguments:

  • <name> — App name
  • <dir> — Parent directory where the app will be created

app generate doc

Creates a documentation file from a schema template.

erp-kit app generate doc --path examples/my-app actors admin
erp-kit app generate doc --path examples/my-app business-flow onboarding
erp-kit app generate doc --path examples/my-app story onboarding/admin--create-user
erp-kit app generate doc --path examples/my-app screen supplier-list
erp-kit app generate doc --path examples/my-app resolver create-supplier

Arguments:

  • --path, -p <path> — Path to the app directory (required)
  • <type> — Doc type (actors, business-flow, story, screen, resolver)
  • <name> — Item name (for story, use <flow>/<story> format)

app generate code

Generates boilerplate source files from docs.

erp-kit app generate code --path examples/my-app

mock start

Starts Mockoon-based mock API servers behind a reverse proxy. Each mock scenario (mocks/{provider}/{scenario}/mock.json) runs on an auto-assigned port and is accessible through the proxy at http://localhost:{port}/{provider}/{scenario}/....

Arguments:

  • [filter...] — (optional) Filter by provider or provider/scenario. If omitted, all mocks are started.
  • --mocks-root <path> — Path to mocks directory (default: ./mocks)
  • -p, --port <number> — Reverse proxy port (default: 3000)
# Start all mocks
erp-kit mock start

# Custom proxy port
erp-kit mock start --port 4000

# Filter by provider or provider/scenario
erp-kit mock start qbo
erp-kit mock start shopify/admin-api sendgrid/send-email

# Custom mocks directory
erp-kit mock start --mocks-root ./my-mocks

mock validate

Validates mock scenario configs against the Mockoon schema and checks for common issues (missing Content-Type headers, empty response labels, broken databucket references).

Arguments:

  • [paths...] — (optional) Specific scenario paths to validate. If omitted, all scenarios are validated.
  • --mocks-root <path> — Path to mocks directory (default: ./mocks)
# Validate all scenarios
erp-kit mock validate

# Validate specific scenarios
erp-kit mock validate mocks/shopify/admin-api mocks/sendgrid/send-email

license

License management. Uses Google licenseclassifier categories as built-in groups.

license list

Lists available license groups and their licenses.

erp-kit license list

license check

Checks dependency licenses against a config-driven allowlist. Requires pnpm (uses pnpm licenses list under the hood).

Arguments:

  • -c, --config <path> — Path to license config JSON file (required)
erp-kit license check --config license.config.json

Config format:

{
  "groups": ["reciprocal", "notice", "unencumbered"],
  "allow": ["BlueOak-1.0.0", "WTFPL"],
  "deny": ["BSD-4-Clause"]
}

| Field | Description | | -------- | ------------------------------------------------------------------------- | | groups | Built-in license groups to allow (reciprocal, notice, unencumbered) | | allow | Additional individual licenses to allow | | deny | Licenses to exclude (applied after groups + allow) |

Options

| Flag | Alias | Applies to | Description | | --------------------- | ----- | -------------------------------------------------- | -------------------------------------------- | | --path <path> | -p | module check/sync-check/generate, app * | Path to module or app directory | | --mocks-root <path> | | mock start, mock validate | Path to mocks directory (default: ./mocks) | | --port <number> | -p | mock start | Reverse proxy port (default: 3000) | | --config <path> | -c | license | Path to license config JSON file | | --format <format> | -f | doc modules, doc module | Output format: text or json |

What's Bundled

| Directory | Contents | | ---------- | -------------------------------------------------------------- | | schemas/ | YAML schema definitions for all doc types | | skills/ | 17 agent skills for documentation, implementation, and mocking |

Schemas

Module: module, feature, command, model, query

App: requirements, actors, business-flow, story, screen, resolver

Agent Skills

Module workflow:

  1. erp-kit-module-1-requirements — Create module requirements and feature documentation
  2. erp-kit-module-2-requirements-review — Review requirements quality and module boundaries
  3. erp-kit-module-3-plan — Break down features into model, command, and query docs
  4. erp-kit-module-4-plan-review — Review feature-to-doc parity
  5. erp-kit-module-5-impl — TDD implementation from docs
  6. erp-kit-module-6-impl-review — Review implementation-to-doc parity

Application workflow:

  1. erp-kit-app-1-requirements — Tier 1-2: requirements, actors, business flows
  2. erp-kit-app-2-requirements-review — Review requirements quality and consistency
  3. erp-kit-app-3-plan — Tier 3-4: stories, screens, resolvers
  4. erp-kit-app-4-plan-review — Review plan-to-requirements parity
  5. erp-kit-app-5-impl-backend — Implement backend resolvers and module wiring
  6. erp-kit-app-6-impl-frontend — Implement frontend pages and components
  7. erp-kit-app-7-impl-review — Review implementation-to-doc parity

Shared and utility:

  • erp-kit-module-shared — Shared references for module skills
  • erp-kit-app-shared — Shared references for app skills
  • erp-kit-update — Route requirements changes to the correct skill
  • erp-kit-mock-scenario — Scaffold a new Mockoon mock scenario

Programmatic Testing Helpers

The @tailor-platform/erp-kit/testing export provides helpers for integration tests:

import { createMockServer } from "@tailor-platform/erp-kit/testing";

const server = await createMockServer("./mocks/shopify/admin-api/mock.json");
// server.url  → "http://127.0.0.1:{port}"
// server.port → assigned port number

// Use server.url as base URL in your tests
const res = await fetch(`${server.url}/admin/api/2024-01/products`);

// Clean up
await server.stop();

Additional testing utilities:

import {
  createMockDb,
  testNotFound,
  testPermissionDenied,
  testIdempotent,
} from "@tailor-platform/erp-kit/testing";
  • createMockDb() — Creates a mock database for unit testing commands and queries
  • testNotFound() — Helper to test "not found" error handling
  • testPermissionDenied() — Helper to test permission denial behavior
  • testIdempotent() — Helper to test idempotent command behavior

Development

pnpm install
pnpm --filter @tailor-platform/erp-kit build
pnpm --filter @tailor-platform/erp-kit test