node package manager
Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »



Language-agnostic schema package manager for better data models, built with component.


  • write reusable JSON schemas to define data models
  • no registry publishing or account required, uses github repositories
  • automatic versioning using git commit ids.


With node.js previously installed:

npm install -g schema-plugin

To install any schema:

component install <org/repo>

To build a ./build/schema.json file from components:

schema build

To build it as a standalone javascript file:

schema build -s

To use use in the component build process:

var schema = require('schema-plugin');
var Builder = require('component-builder');
var builder = new Builder;
builder.use(schema);, out){


Reserved properties

  • name
  • type
  • description
  • title
  • image
  • url
  • value

The value associated with the value key must be either a string, a number, true, false or null.

The value associated with the type key must be a term, a compact IRI, an absolute IRI, a relative IRI, or null.


Maybe refactor component.json builder/package/installer so it can point to different json files:

Maybe that stuff can go into tooljs.

Maybe you can do schema build --for node,component and it creates the node_modules for each component so they can be used too.

schema create user
schema build schema.json
# something like
schema build --node_modules --component --json
schema validate ./data.json --against ./schema.json

Maybe should work similar to brew tap x, so you can bundle schemas into single repos.


  • MIT
  • Surveying icon by Luis Prado from The Noun Project