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

archiyou

v0.7.2

Published

Archiyou script CAD engine

Readme

archiyou

Archiyou Archiyou

Archiyou is an online platform and Typescript/Javascript library to codify design and building know-how and publish it online. Use our editor and community platform for free at Archiyou.com.

License build and test Docs npm version

Example

This is a script on our platform:

// Parameters
WIDTH = 100;
DEPTH = 80; 
HEIGHT = 70;

legHeight = HEIGHT-TOP_THICKNESS;
leg = box(LEG_SIZE, LEG_SIZE, legHeight)
        .move(LEG_SIZE/2, LEG_SIZE/2,legHeight/2); // start position of leg
     
legs = leg.array([2,2],[WIDTH-LEG_SIZE,DEPTH-LEG_SIZE])
         .color('green');

top = boxbetween(
    [0,0,legHeight],
    [WIDTH, DEPTH, HEIGHT])
    .color('green');

top.fillet(1,'Face||top'); // finish table top

Library Features

  • Minimal object-orientated API that feels like describing your shape.
  • A lot of modeling techniques with our BREP and mesh kernel: CSG, 2D Sketch, surface modeling
  • Exports: BREP, STEP, GLTF/GLB, DXF, PDF, Excel etc
  • Generate documentation: spec sheets, plans, instructables
  • Connected CAD: Import assets (SVG, JPG) from the web and use for modeling
  • Assemble models by using scripts as components
  • More than a model: Manage data, pipelines, components and outputs
  • Publish your script as parametric model in a configurator and serve to the web

Platform Features

  • Free Editor
  • Open Design: Share scripts and build upon others
  • Project management [Coming]

Developer Quickstart

To use Archiyou as a module to generate designs and documentation independently from our platform it's available as module on npm.

# install with any package manager
pnpm add archiyou 
# or
npm add archiyou
# or 
yarn add archiyou

Now run this script in Node or browser:

import { init, Brep, Doc } from 'archiyou'

await init();

const brep = new Brep();

const myModel = brep.Box(100)
    .subtract( // subtract a box from the main box
        brep.Box(50,50,100)
        .move(25,-25,50)
        .hide()
    ).fillet(5); // Give it round edges

await myModel.save('mybox.glb')

const myIso = myModel.iso([1,-1,1])
myIso.save('myboxiso.svg');  // export as SVG file

const myDoc = new Doc() // Doc module
                .create('myDoc') // start a new document (and first page)
                .page('myPage')
                .text('My design')  // place text
                .view('iso', myIso); // place view of myIso shapes

await myDoc.save('myboxdoc.pdf');

Development: Starter templates

For starter-templates for some popular frameworks and build stacks see /examples/templates.

It's easiest to clone this repo, navigate to the starter template directory (examples/templates) and use the npm install, dev etc commands.

If your framework is not present, just look at the others for inspiration. Modern ones work with the same methods. Contributions are welcome.

Notes on the WASM file

Archiyou is a TS/JS layer on top of a WASM build of OpenCascade. Your application needs to be able to find the WASM file for it to work. If you experience errors during import or execution this is most probably the cause! Check starter templates how to configure build systems like Vite for WASM.

Run scripts independently from Archiyou platform

If you want to locally execute scripts from our Editor and get certain outputs: use the Runner.

    import { Runner } from 'archiyou'
    // A runner executes Archiyou scripts
    const runner = new Runner()

    // First a Runner needs to load (because it uses WASM)
    runner.load().then(async (runner) => 
    {
         // Then you execute a script in the default scope
         const r = await runner.execute({ 
                     code: `b = box($SIZE)`, 
                     params: { SIZE: 100 } }, 
                     { formats: ['glb'] }
                  ); 
         const glb = r?.meshGLB; // The 3D model mesh in GLB format (default)
         console.log(`Generating a GLB box took: ${r.duration} ms`);
    });

Runner also offers easy ways to execute scripts in a Webworker which is the best way if you want create a larger online CAD application.

Examples and use cases

Archiyou is focused on physical things to build - like furniture and constructions - but the Editor can do much more:

Where Archiyou really shines is handling documentation and output pipelines:

Roadmap 2026

Thanks to NLNET NG0 Commons Fund we can further develop the open source and open design community functionality of Archiyou.

This is a basic roadmap:

  • [x] Open design user research, strategy and UX/UI
  • [x] DevX: Archiyou as module, examples, templates
  • [x] New high performance (mesh) geometry kernel: CSGRS and Meshup
  • [ ] Fully open source stack (including publishing)
  • [ ] New lightweight viewer/configurator: portability, extendability
  • [ ] New editor: more value for more users
  • [ ] New open design platform

Please reach out for more information, ideas or collaboration!