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

@kobolabs/fashion-tech-pack-schema

v1.0.0

Published

JSON Schema standard for fashion tech packs

Downloads

128

Readme

fashion-tech-pack-schema

An open JSON Schema standard for fashion tech packs.

JSON Schema 2020-12 License: MIT npm


What is a Tech Pack?

A tech pack is the technical specification document that bridges design and manufacturing in the fashion industry. It contains everything a factory needs to produce a garment: measurements, materials, construction details, colorways, labelling, and packaging requirements. Despite being the single most critical document in garment production, there is no widely adopted machine-readable standard for tech packs — most are still exchanged as PDFs or spreadsheets. This schema changes that.

Schema Overview

The schema defines a complete tech pack as a JSON document with the following sections:

| Section | Description | |---------|-------------| | style | Core identification — style name, number, season, category, brand, target price | | colorways | Color options with hex, Pantone, and swatch references | | billOfMaterials | Every component (fabric, trim, hardware, labels) with supplier, cost, and consumption data | | measurements | Points of measure across the full size range with grading and tolerances | | construction | Stitch types, seam specifications, and assembly notes | | sampleStages | Sample approval tracking from Proto through Production | | careInstructions | Wash, dry, iron, and dry-clean specifications with care symbol codes | | labelling | Country of origin, fibre content, and label requirements | | packaging | Poly bag, tissue, hanger pack, and carton packing instructions |

Required sections: style, colorways, billOfMaterials, measurements

Quick Start

npm install @kobolabs/fashion-tech-pack-schema

Validate a tech pack using Ajv:

import Ajv from "ajv";
import addFormats from "ajv-formats";
import schema from "@kobolabs/fashion-tech-pack-schema/schema/tech-pack.schema.json";

const ajv = new Ajv();
addFormats(ajv);
const validate = ajv.compile(schema);

const techPack = JSON.parse(fs.readFileSync("my-tech-pack.json", "utf-8"));
const valid = validate(techPack);

if (!valid) console.error(validate.errors);

Schema Reference

tech-pack.schema.json (root)

The top-level schema. References sub-schemas via $ref.

colorway.schema.json

| Field | Type | Required | Description | |-------|------|----------|-------------| | name | string | yes | Commercial color name | | code | string | | Internal color code | | hex | string | | Hex value (#RRGGBB) | | pantone | string | | Pantone TCX reference | | isPrimary | boolean | | Lead colorway flag | | fabricSwatchRef | string | | Link to physical/digital swatch |

bom.schema.json

| Field | Type | Required | Description | |-------|------|----------|-------------| | component | string | yes | Component name | | category | enum | | fabric, trim, label, hardware, zipper, button, etc. | | placement | string | yes | Where the component is used | | supplierName | string | | Vendor name | | supplierArticleNumber | string | | Supplier's article reference | | composition | string | | Fibre/material composition | | weight | object | | { value, unit: "gsm" \| "oz" } | | width | object | | { value, unit: "cm" \| "inches" } | | colorName | string | | Component color | | colorCode | string | | Hex color code | | pantone | string | | Pantone reference | | consumption | object | | { value, unit: "yards" \| "meters" \| "pieces" } | | unitCost | object | | { value, currency } (ISO 4217) | | moq | number | | Minimum order quantity | | leadTimeDays | number | | Supplier lead time in days | | notes | string | | Additional notes |

measurements.schema.json

| Field | Type | Required | Description | |-------|------|----------|-------------| | unit | enum | yes | "cm" or "inches" | | sizeRange | string[] | yes | Ordered size list | | baseSize | string | | Grading base size | | tolerancePlus | number | | Default + tolerance | | toleranceMinus | number | | Default - tolerance | | points | array | yes | Measurement points (see below) |

Each measurement point:

| Field | Type | Required | Description | |-------|------|----------|-------------| | name | string | yes | Point of measure name | | code | string | | Short code (e.g. "A1") | | description | string | | How to measure | | values | object | | { "S": 50, "M": 53, ... } | | tolerancePlus | number | | Override + tolerance | | toleranceMinus | number | | Override - tolerance |

Examples

  • basic-tshirt.json — A minimal tech pack for a crew neck organic cotton t-shirt. Three colorways, four BOM items, five measurement points across XS-XL.

  • woven-jacket.json — A comprehensive tech pack for a lined utility jacket. Four colorways, twelve BOM items, twelve measurement points with tight tolerances, sample stage tracking, full construction notes with stitch types and seam specs, complete labelling and packaging.

Why This Exists

Fashion is one of the largest global industries, yet its core technical documents — tech packs — lack any machine-readable standard. Brands email PDFs. Factories re-key measurements into spreadsheets. Errors cascade through the supply chain. Every PLM, ERP, and production system defines its own proprietary format, making interoperability between tools nearly impossible.

This schema provides a shared vocabulary. It is intentionally practical — based on what designers, technical designers, and production teams actually put in tech packs — not an academic exercise. The goal is a common format that PLM vendors, factory systems, and independent tools can all read and write.

Contributing

See CONTRIBUTING.md for guidelines on submitting issues and pull requests.

License

MIT -- see LICENSE.


Built by the team at Kobo -- modern PLM for fashion brands.