open-index/open-npm huggingface dataset:
npm package: @knitify/core
Description: Knitify is the core UI library powering all applications of Knitware. Built to provide consistency, efficiency, and scalability, Knitify offers a comprehensive set of reusable components, design patterns, and responsive layouts. It ensures every applicati
Latest version: 1.0.4

# Knitify

Knitify is the core UI library powering all applications of Knitware. Built to provide consistency, efficiency, and scalability, Knitify offers a comprehensive set of reusable components, design patterns, and responsive layouts. It ensures every application in the Knitware ecosystem delivers a seamless and cohesive user experience, helping developers build polished, user-friendly interfaces faster and more reliably.
npm package: @knitting-tools/core
Description: Knitting maths, row parsing, shaping, and pattern compilation utilities.
Latest version: 2.0.2

# @knitting-tools/core

A knitting pattern engine for expanding rows, applying shaping, and compiling pattern DSL.

## What it includes

- Expand repeat-based row definitions
- Evenly distribute increases/decreases
- Apply physical shaping to stitch streams
- Compile simple knitting DSL

## Package boundaries

`@knitting-tools/core` is the pattern engine package.

- Keep here: parsing, shaping, row expansion, and compile pipeline.
- Use `@knitting-tools/math` for gauge and measurement utility functions.

## Install

```bash
pnpm add @knitting-tools/core
```

## Migration from @knitting-tools/math

The package was renamed in `2.0.0`:

- Old package: `@knitting-tools/math`
- New package: `@knitting-tools/core`

Update your project by changing both install and import paths.

Before:

```ts
import { compilePattern } from "@knitting-tools/math";
```

After:

```ts
import { compilePattern } from "@knitting-tools/core";
```

The runtime API surface is unchanged for this rename; migration is package-path only.

For split-package migration, prefer these utility imports from `@knitting-tools/math`:

- `rowsPerCm`
- `stitchesPerCm`
- `cmToRows`
- `cmToStitches`
- `convertLength`
- `normaliseMeasurement`
- `roundStitches`

These remain re-exported from `@knitting-tools/core` for compatibility.

## Quick example

```ts
import {
  compilePattern,
  compileRowDsl,
  parseRowDsl,
  rowToRowDsl,
} from "@knitting-tools/core";

const row = parseRowDsl("[k1]s (k2 p2) p1 [k1]e");
const normalised = rowToRowDsl(row);
const stitches = compileRowDsl(normalised, 10);

const compiled = compilePattern(
  {
    rows: [row],
  },
  10
);

console.log(stitches.length);
console.log(compiled.rows[0].normalisedRowDsl);
```

## Development

Run from the repository root:

```bash
pnpm --dir packages/knitting-math typecheck
pnpm --dir packages/knitting-math test
pnpm --dir packages/knitting-math test:coverage
pnpm --dir packages/knitting-math check
```

## API Stability & Breaking Changes

This package follows [Semantic Versioning](https://semver.org/). The public API surface is locked in with snapshot tests. Any change to exports, types, or function signatures will cause tests to fail, ensuring breaking changes are intentional and documented.

**Quick links:**
- [API Compatibility Policy](./API_COMPATIBILITY.md) — Detailed policy on versioning and breaking changes
- [API Quick Reference](./API_COMPATIBILITY_QUICK_REF.md) — Commands and workflows for development
- [Test Snapshots](./src/__snapshots__/api.compatibility.test.ts.snap) — Current API surface

**Key principle**: Breaking changes require a major version bump and must be documented in Changesets before release.

## Release flow

Package releases are managed with Changesets from the repository root:

```bash
pnpm changeset
pnpm release:status
pnpm release:version
pnpm release:publish
```

See the repository README for the wider monorepo workflow.
npm package: @knitting-tools/math
Description: Knitting math utilities for gauge, measurement, and conversions.
Latest version: 3.0.0

# @knitting-tools/math

Knitting math utilities for gauge, measurement, and conversions.

## Install

```bash
pnpm add @knitting-tools/math
```

## Includes

- Unit constants and conversion helpers
- Gauge calculations (rows/stitches per cm)
- Centimeter-to-rows/stitches conversion
- Measurement normalisation and stitch rounding

## Migration from @knitting-tools/core

Math utility APIs can now be imported directly from `@knitting-tools/math`.

| Utility API | Preferred import |
| --- | --- |
| `rowsPerCm`, `stitchesPerCm` | `@knitting-tools/math` |
| `cmToRows`, `cmToStitches` | `@knitting-tools/math` |
| `convertLength`, `normaliseMeasurement`, `roundStitches` | `@knitting-tools/math` |

Before:

```ts
import { cmToRows, rowsPerCm } from "@knitting-tools/core";
```

After:

```ts
import { cmToRows, rowsPerCm } from "@knitting-tools/math";
```