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

@memoarchitect/tools

v0.6.4

Published

MEMO tools — SysML v2 parser, semantic model, validation, project operations, and CLI

Downloads

557

Readme


Status: published preview. @memoarchitect/tools is available on npm. Its API, CLI flags, and model semantics remain pre-stable and may change before version 1.0.

Version compatibility

memo, memo-tools, and memo-architect share a MAJOR.MINOR compatibility line. Any 0.5.x release is intended to work with the other 0.5.x products; patch versions may advance independently for fixes and additive changes.

The meMO stack

meMO is a four-layer stack — adopt what you need (see memoarchitect.com):

| Layer | What | Where | |---|---|---| | 01 Ontology | Typed SysML v2 elements, Arcadia-inspired architecture layers | memoarchitect/memo | | 02 Methodology | Profiles, viewpoints, rules, workflow gates | memoarchitect/memo | | 03 Tools | Model engine + memo CLI — this repo | memoarchitect/memo-tools | | 04 Architect | Web workbench over the same model | memoarchitect/memo-architect |

Supported tools

Memo Tools is one npm package with internal engine, CLI, and maintainer-tool modules. The UI lives in Memo Architect; editor functionality belongs to a user's SysML v2 editor rather than a MEMO-specific VS Code extension.

| Surface | Purpose | Typical use | |---|---|---| | @memoarchitect/tools | Parser, semantic model, validation, analysis, project operations, document tooling, and the memo CLI | Reused by the CLI and Memo Architect server | | tools/ontology-tools | Internal dependency-free repository checks (not an npm package) | Maintainers validating ontology structure and editor portability |

CLI usage

# Create and inspect a project
memo init --list
memo init my-device
memo init my-device --template samd
memo init gpca --example gpca
memo ontology show

# Validate locally or in CI
memo validate .
memo validate . --format junit --output validation.xml

# Exchange and publish model data
memo export json --output model.json
memo export dot --output model.dot
memo import csv elements.csv
memo ontology export owl --output ontology.ttl
memo pack --output model.kpar
memo sysand publish --dry-run

# Generate assurance artifacts
memo dhf status
memo export dhf --format docx --output dhf-output
memo rules coverage

Run memo --help or memo <command> --help for the complete command surface.

Documentation

The task-oriented documentation starts with installation and a first useful workflow, then covers validation, import, export, CI, configuration, and the library API. Build it locally with:

python3 -m pip install "mkdocs>=1.6" "mkdocs-material>=9.5" "pymdown-extensions>=10.0"
pnpm run docs:build

Compiler and packager selection

Projects may select external tools in memo.package.yaml or memo.config.yaml. Omit toolchain (or use internal) to preserve MEMO's built-in parser and KPAR writer.

toolchain:
  compiler: syside       # internal | syside
  packager: sysand       # internal | sysand
  syside:
    executable: ~/.local/bin/syside
    configFile: ./syside.toml
    warningsAsErrors: true  # default: true
    diagnose: all           # default: all; all | external | project | none
  sysand:
    executable: ~/.local/bin/sysand
    configFile: ./sysand.toml

memo validate and memo pack run syside check --diagnose all --warnings-as-errors by default before MEMO's semantic validation, automatically including the resolved ontology directories. Set warningsAsErrors: false or use diagnose: none to relax the check. memo pack delegates archive creation to SysAnd when selected. Relative executable and config paths resolve from the project directory; bare executable names resolve through PATH.

Core library usage

@memoarchitect/tools is the reusable implementation layer. Protocol DTOs expose its supported application boundary; the CLI is an adapter over that boundary, and React does not import core internals directly.

import { buildMemoModel } from '@memoarchitect/tools';

The API is pre-stable. Pin an exact 0.5.x patch when embedding it directly.

Maintainer checks

pnpm run ontology:lint    # naming, inheritance, and ontology policy checks
pnpm run ontology:compat  # static SysML v2 / SysIDE portability checks
pnpm run build
pnpm run test
pnpm run type-check

The authoritative external parse/package validation remains the sysand build in the sibling memo repository within memo-meta. Diagram and presentation generators are private release/documentation machinery maintained in memo-meta, not product tools.

Layout

packages/tools/       internal source for the root @memoarchitect/tools package
tools/ontology-tools/ internal repository lint and editor-portability checks

The engine resolves ontology content through its exact @memoarchitect/ontology npm dependency. In memo-meta, pnpm links that dependency to the sibling memo checkout for iterative development.

Current repository relationship

  • A standalone clone installs @memoarchitect/[email protected] from npm.
  • The Tools repository contains no ontology git submodule.
  • The private memo-meta workspace keeps memo and memo-tools as sibling submodules and applies local pnpm overrides for cross-repository work.
  • Publishing Tools never depends on the meta repository.

Quickstart

Requires Node.js 26 or later and pnpm 9.15.

git clone https://github.com/memoarchitect/memo-tools.git
cd memo-tools
pnpm install && pnpm run build && pnpm run test

# validate the GPCA reference pump
pnpm run example:validate

Memo Tools deliberately exposes no CLI commands that require Architect. Interactive development and static viewer builds are provided by the separate @memoarchitect/architect command.

License

MIT © 2026 memoarchitect