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

@agent-ix/spec-artifacts-iso

v0.6.1

Published

Filament Module: ISO-style spec artifacts (FR/NFR/StR/US/IT/TC/AC/CON) — unified-shape archetypes + authoring skeletons + frontmatter JSON Schemas + iso-spec-core grammar, validated by quire-rs (no render templates)

Readme

spec-artifacts-iso

Filament Module: ISO-style spec artifacts (FR, NFR, StR, US, IT, TC) — unified-shape archetypes (frontmatter schema + body_extraction asserts) validated by quire-rs; per-archetype authoring skeletons are the source of truth (no render templates); iso-spec-core grammar

An Agent-IX Filament module loaded by quire-cli and quoin. The module path is spec_artifacts_iso: a manifest.yaml, per-kind authoring skeletons/, and frontmatter schemas/. It contributes doc-backed archetypes and artifact_types (ISO-style requirement artifacts) — no embedded object_types.

Installing quire-cli

@agent-ix packages are published to public npm. Install the CLI globally:

npm install -g @agent-ix/quire-cli

See https://github.com/agent-ix/quire-cli#install for details.

Install this module via npm

This module is also published as a config-only npm package: @agent-ix/spec-artifacts-iso. The package root is the Filament module (manifest.yaml + schemas/skeletons), so it works directly as a --module target or via quoin's package: source.

npm install @agent-ix/spec-artifacts-iso
# quoin — resolve the module from npm by name
quoin plugin install package:@agent-ix/spec-artifacts-iso

# or point any tool at the installed package root
quire validate spec/**/*.md --module node_modules/@agent-ix/spec-artifacts-iso

Artifact types provided

The Spec archetype (kind spec) is a doc-backed container that holds ISO-style requirement artifacts (its composition expects StR, FR, NFR, US, IT, TC). The artifact types below live inside it.

| Kind | ID pattern | Description | |:-----|:-----------|:------------| | FR | FR-{next:03d} | Functional Requirement (ISO/IEC/IEEE 29148): required ## Description (normative shall/must language) + ## Acceptance Criteria (ID \| Criteria \| Verification table, {id}-AC-N) + ## Dependencies; optional ## Inputs/## Outputs/## Behavior and a ## Constraints table ({id}-CON-N). | | NFR | NFR-{next:03d} | Non-Functional Requirement / quality constraint (ISO/IEC/IEEE 29148, attribute from ISO 25010): required ## Statement + ## Measurement and Evaluation (Metric \| Target \| Threshold \| Method table) + ## Verification; quality_attribute is a frontmatter enum. | | StR | StR-{next:03d} | Stakeholder Requirement (ISO/IEC/IEEE 29148 stakeholder triad): required ## Stakeholder Need + ## Rationale + ## Validation Criteria; stakeholders, context, constraints, and traceability are optional. | | US | US-{next:03d} | User Story (ISO/IEC/IEEE 29148): a single required ## Story matching the "As a … / I want … / So that …" shape; all other sections are contextual and informative. | | IT | IT-{next:03d} | Integration Test case (ISO/IEC/IEEE 29119): required six-section set — ## Objective, ## Target Integration, ## Preconditions, ## Inputs, ## Test Procedure, ## Expected Results. | | TC | TC-{next:03d} | Test Case (ISO/IEC/IEEE 29119 essentials): required ## Description + ## Test Procedure + ## Expected Results. | | master-requirements | (bundle root) | Master Requirements Specification: H1 fixed to "Master Requirements Specification"; required ## Purpose, ## Scope, ## System Overview, ## Requirements Architecture, ## References; the repo-level depends_on: dependency manifest. | | index | (index.md) | OKF bundle directory index: required ## Contents listing the artifacts in the directory via content-local relative links (not knowledge-graph edges). | | log | (log.md) | OKF bundle update log: required ## History of dated, non-normative structural changes to the bundle. |

How this module is used

With quoin (recommended)

quoin plugin install path:../spec-artifacts-iso   # bundled root module; shown for completeness
quoin catalog list                                # list available artifact kinds
quoin catalog show FR                             # inspect the FR skeleton + schema
quoin write . --types FR,NFR                      # scaffold new artifacts
quoin review                                      # validate + review the spec

See https://github.com/agent-ix/quoin.

With quire-cli directly

quire schema FR --module ./spec_artifacts_iso                    # show the FR authoring skeleton/schema
quire validate spec/**/*.md --module ./spec_artifacts_iso        # validate Markdown artifacts
quire extract spec/functional/FR-001.md --module ./spec_artifacts_iso --archetype FR

See https://github.com/agent-ix/quire-cli#usage-instructions.

Authoring conventions

  • FR body: required = ## Description + ## Acceptance Criteria (table). ## Inputs / ## Outputs / ## Behavior / ## Constraints / ## Dependencies are optional, all at level 2 — there is no ## Specification umbrella. Object FRs carry their kind's anchor sections instead of I/O.
  • object: frontmatter is the canonical object-kind field (never object_type:). It is optional for vanilla behavioral FRs and required for object FRs — kind anchors and extraction hang off it.
  • NFR body: required = ## Statement + ## Measurement and Evaluation (Metric|Target|Threshold|Method table) + ## Verification; quality_attribute is a frontmatter enum (ISO 25010), not a section.
  • AC Verification cells use the ISO 29148 methods — Inspection, Analysis, Demonstration, Test — optionally annotated Test (TC-035). Checked by the module's ac-verification-method lint rule (quire lint).
  • Relationships: author the explicit relationships: array (typed verbs, incl. specifies for object FR → behavioral FR). Bare-ID sugar fields (depends_on: etc.) are read-side ingestion tolerance only — except in spec.md (master-requirements), where depends_on: is the repo-level dependency manifest.

Development

This is a flat-layout Python 3.13+ package (spec_artifacts_iso, no src/) managed with Poetry, built and published via GitHub Actions to Google Artifact Registry (PyPI-compatible). All work goes through the Makefile:

make install                  # install dependencies into the Poetry venv
make test                     # run pytest
make lint                     # ruff + black --check
make format                   # auto-format (black + ruff --fix)
make build                    # build wheel + sdist under dist/
make update-lock              # update poetry.lock
make local-publish            # build + publish to local pypi.ix

| Target | Description | |:-------|:------------| | install | Install dependencies in the Poetry venv | | test | Run tests | | lint | Run linting (Ruff + Black check) | | format | Auto-format code (Black + Ruff --fix) | | build | Build wheel and sdist artifacts | | clean | Remove all build artifacts | | version / info | Show version / Git info | | update-lock | Update poetry.lock | | add-package p=<name> | Add a runtime dependency | | add-dev-package p=<name> | Add a dev dependency | | use-local p=<name> / use-upstream p=<name> | Switch a dep to/from local pypi.ix | | local-publish | Build and publish to local PyPI |

CI runs on push, pull_request, and v*.*.* tags: it runs tests and lint, builds with poetry build, and publishes to Artifact Registry via twine upload -r internal-pypi. Versioning is dynamic from the Git tag. Required CI config: secret GCP_SERVICE_ACCOUNT_KEY; variables GCP_REGION, GCP_PROJECT_NAME, GCP_PYPI.

For local install from the cluster PyPI proxy (after make local-publish):

pip install --index-url http://pypi.ix/root/dev/+simple/ spec_artifacts_iso