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

takt-ccwf-bridge

v0.1.0

Published

Converts Takt workflow YAML to cc-wf-studio workflow.json — view and lay out Takt workflows in an unmodified cc-wf-studio

Readme

takt-ccwf-bridge

日本語

Converts Takt workflow YAML to cc-wf-studio workflow.json, so you can view and lay out a Takt workflow in an unmodified cc-wf-studio (ccwf preview / the VSCode extension).

takt YAML ──to-ccwf──▶ workflow.json ──▶ ccwf preview / VSCode extension (view + layout)

A to-takt command (JSON → YAML) also exists for verification and for programmatically patching hand-edited JSON. It is not a supported "edit on the canvas, write back to Takt" workflow — see Known limitations.

Install

npm install -g takt-ccwf-bridge   # or run ad hoc with: npx takt-ccwf-bridge

Requires Node.js >= 20.

Usage

# Takt YAML → cc-wf-studio workflow.json (the primary, supported direction)
takt-ccwf to-ccwf my-workflow.yaml -o my-workflow.ccwf.json

# Reuse node positions from a previously saved canvas layout
takt-ccwf to-ccwf my-workflow.yaml --layout previous.ccwf.json

Preview the result with cc-wf-studio:

npx @cc-wf-studio/cli preview my-workflow.ccwf.json

to-takt and roundtrip also exist (JSON → YAML, patch-based, byte-identical on an unchanged file) but are for verification / hand-edited JSON, not for canvas-edit write-back — see Known limitations:

takt-ccwf to-takt my-workflow.ccwf.json --base my-workflow.yaml -o my-workflow.yaml
takt-ccwf to-takt my-workflow.ccwf.json --base my-workflow.yaml --sync-conditions
takt-ccwf roundtrip my-workflow.yaml

Try it

Pre-converted samples are included under examples/ so you can preview without converting anything yourself first:

npx @cc-wf-studio/cli preview examples/default.ccwf.json       # simple flow + workflow_call
npx @cc-wf-studio/cli preview examples/peer-review.ccwf.json   # parallel branches

This opens a browser canvas. You should see nodes named after each Takt step, edges for each rules condition, and a COMPLETE/ABORT end node — that's the same view to-ccwf produces for your own workflows. examples/*.ccwf.json were generated from fixtures/takt/en/default.yaml and fixtures/takt/en/peer-review.yaml via:

takt-ccwf to-ccwf fixtures/takt/en/default.yaml -o examples/default.ccwf.json
takt-ccwf to-ccwf fixtures/takt/en/peer-review.yaml -o examples/peer-review.ccwf.json

Compatibility

Built and verified against:

Takt's workflow YAML format isn't formally versioned; both projects are moving targets, so a newer Takt or cc-wf-studio release may not convert cleanly. If you hit a schema mismatch, please open an issue with your Takt version (takt --version) and the failing YAML.

Design

  • Every Takt step is embedded verbatim in the node's x-takt field — x-takt is the source of truth for the round trip; connections are display-only.
  • to-takt applies changes as a patch against the original YAML document, so an unchanged workflow round-trips byte-identically (comments and key order included).
  • Unknown fields are always passed through; nothing is dropped as "unsupported".

See docs/mapping.md for the full mapping design.

Known limitations

  • There is no working "edit on the canvas, write back to Takt" flow. Saving from the cc-wf-studio canvas drops all edge conditions (verified against cc-wf-studio CLI and VSCode extension 3.35.1). Treat the canvas as a viewer and layout tool only; edit workflow logic in the Takt YAML directly. --sync-conditions is only useful for hand-edited JSON or future upstream versions that fix this.
  • Node names are rebuilt on canvas save; non-ASCII workflow names are not accepted by cc-wf-studio. See the loss table in docs/mapping.md.

Development

npm install
npm run typecheck && npm test
npm run cli -- to-ccwf fixtures/takt/en/default.yaml

Test fixtures under fixtures/takt/ are copies of the built-in workflow library shipped with Takt (MIT). reference/cc-wf-studio/workflow-schema.json is copied from cc-wf-studio (MIT, from the core package).

License

MIT