Skip to main content

Stateful CLI for machine-embroidery digitization with Ink/Stitch.

Project description

cli-anything-inkstitch

Stateful CLI for machine-embroidery digitization with Ink/Stitch — built so an LLM (or a human at a terminal) can take a vector design from raw SVG to stitchable DST/PES/JEF without leaving the command line.

See SPEC.md for the full technical specification, skills/cli-anything-inkstitch/SKILL.md for agent-facing CLI usage, and skills/embroidery-digitization/SKILL.md for the parameter-decision wisdom that informs which settings to pick.

Install (dev)

pip install -e '.[dev]'

The CLI itself is pure Python (lxml + click + pyembroidery). For binary-backed commands (tools, preview generate, export, validate run/fix) install Ink/Stitch. For raster previews (preview generate --raster, preview rasterize) install Inkscape 1.0+.

Quick start

PROJ=/tmp/logo.inkstitch-cli.json

# Open an SVG into a project, prep it (assigns IDs, inlines CSS-class fills,
# detects Illustrator stroke-to-outline rings)
cli-anything-inkstitch document open --project $PROJ --svg /tmp/logo.svg
cli-anything-inkstitch document prep --project $PROJ --illustrator-rings satin

# Capture material/intent so subsequent param decisions are grounded
cli-anything-inkstitch document set-context --project $PROJ \
    --material "knit cotton t-shirt" --stretch high \
    --thread "40wt polyester" --stabilizer "medium cut-away" \
    --intent "wash-durable team logo"

# Get rich per-element context (size, position, neighbors, color name)
cli-anything-inkstitch --json element describe --project $PROJ

# Set stitch type and parameters
cli-anything-inkstitch params set --project $PROJ --id logo_outline \
    --stitch-type satin_column --pull-compensation-mm 0.4

# Validate and auto-fix what can be fixed
cli-anything-inkstitch --json validate fix --project $PROJ

# Preview the stitch plan as PNG so the LLM (or you) can visually evaluate
cli-anything-inkstitch preview generate --project $PROJ \
    --out /tmp/logo-preview.svg --raster --dpi 200

# Export
cli-anything-inkstitch export file --project $PROJ --format dst --out /tmp/logo.dst

What's in here

Core CLI (Python):

  • document — project & SVG management, prep for Illustrator-exported SVGs, design-intent context capture, palette + thread color enumeration
  • element — list, get, describe (with bbox/position/color/neighbors), classify, delete, clear-params
  • params — set, get, copy, presets — with full inkstitch param-schema validation
  • commands — attach/detach Ink/Stitch visual commands (stops, trims, fill markers)
  • validate — static schema checks, binary-backed troubleshoot run, fix dispatcher (auto + manual suggestions)
  • tools — binary-backed geometry rewrites (auto-satin, auto-run, convert satin↔stroke, cleanup)
  • preview — stitch-plan SVG generation, raster (PNG) output via Inkscape, parsed stats
  • export — single-format file, multi-format ZIP with optional threadlist
  • schema — introspect the inkstitch param schema (extracted from inkstitch source)
  • session — undo / redo / history (50 levels)

Two skills:

  • cli-anything-inkstitch — agent-facing CLI usage: every command, every flag, every output format, agent gotchas.
  • embroidery-digitization — the wisdom layer: per-element decision flow, fabric-specific push/pull comp tables, satin width thresholds, underlay strategies, color/needle ordering, visual failure-mode diagnosis, three full starting recipes.

Status

v0.1 — core surface complete. ~180 tests cover both pure-Python paths and binary-mocked integrations; the binary-backed commands are also live-verified against Ink/Stitch v3.2.2 on macOS.

Out of scope (per SPEC.md §4.12): GUI, Inkscape extension wrapping, lettering UI, real-time machine control.

Tests

pytest          # full suite
pytest -k fix   # one area

License

Apache-2.0 — see LICENSE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cli_anything_inkstitch-0.1.3.tar.gz (100.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cli_anything_inkstitch-0.1.3-py3-none-any.whl (71.5 kB view details)

Uploaded Python 3

File details

Details for the file cli_anything_inkstitch-0.1.3.tar.gz.

File metadata

  • Download URL: cli_anything_inkstitch-0.1.3.tar.gz
  • Upload date:
  • Size: 100.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for cli_anything_inkstitch-0.1.3.tar.gz
Algorithm Hash digest
SHA256 f08dcaa02c9cd32a664853e7b9094088d2737a4587ee25de242b5d30b06fde7a
MD5 048bb0db66baf313bd1608d3368e25fd
BLAKE2b-256 7ece181e5cbc640f2530e34c3356ae7bcece4321d7823fbbca7f9f73a7555731

See more details on using hashes here.

File details

Details for the file cli_anything_inkstitch-0.1.3-py3-none-any.whl.

File metadata

File hashes

Hashes for cli_anything_inkstitch-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 56b7d8406e0c3edcd43f16f202fc4bba431c033c2d0eca0515194092eceaeaa8
MD5 638610528fb830462d847889440cef4b
BLAKE2b-256 b2623a40ffaa7400683c409798cdf6ed9b82bbf13dcfc7d6aa53c2975a40eee2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page