Skip to main content

Kumiki

Kumiki is a PROGRAMMATIC CAD library for timber framing and woodworking.

As a programmatic CAD tool, it is well suited for usage with AI agents 🤖

Kumiki is used together with Kigumi--a VSCode extension for viewing your kumiki designs!

Kumiki is in FREE and OPEN SOURCE (FOSS), try it out! There are many more features to come.

Expect frequent breaking changes accompanied by a minor version bump. The AI agent should be able to easily address any breaking API changes based on the changelog.

setup

Kumiki is best used with Kigumi. To install Kigumi, install VSCode and install the Kigumi extension.

I think Kigumi also requires python3, the rest of the dependencies get installed automagically for you.

You can of course use Kumiki without Kigumi. You can still use Kigumi to setup your Kumiki projects and its dependencies.

your first kumiki project

Create a folder for your Kumiki project and open that folder in VSCode. Then click "Initialize Project" from the Kumiki menu. You may also run "kigumi: initialize project" command from the command pallete. This will create a placeholder my_cute_frame.py project file for you that you can build on!

Open the Kigumi menu by clicking on the Kigumi extension icon in the left side bar. You may also open Kigumi by opening the command palette in VScode (cmd/ctrl+shift+p). Start typing "kigumi" and choose the "View: Show Kigumi" command. You can open a Kumiki project file directly by choosing "Kigumi: Open Current File in Viewer" in the command pallete when that file is focused.

viewing the built in patterns and examples

Kigumi ships with a patternbook and several examples. These can be explored through the kigumi menu. You can choose to "view source" or "duplicate in workspace" if you want to modify the patterns.

making changes

Kigumi designs are built with CODE. You can write this CODE yourself, or you can ask AI to write the CODE for you.

Kigumi installs with a set of AI agent instructions. The installed kumiki Python package includes the Kumiki library source files, built-in patterns, and the docs/ content, so those resources are present in the Python environment used by Kigumi. Using human like prompting should serve you pretty well. Using carpentry or woodworknig terminology will serve you better. Please refer to the patternbook for the list of available joints. It's best to build your structure in increments previewing each step along the way but I won't stop you from asking your agent to "build me a house". You can implement your own joints as well. The AI agents currently struggle with this especially if you are unfamiliar with terminology and geometry conventions for prompting it, so don't expect much. Someday I'll have better prompting examples and skills to share here. Stay tuned.

To learn more about authoring Kumiki designs without AI, please start with docs/concepts.md to learn more about Kumiki's design philosophy, and then proceed with the various example structures that ship with Kumiki. Kumiki is very SIMPLE and VERBOSE by design. So it LOOKS complex but in actuality, it is quite simple to understand. A typical structure is built as follows:

  • estabalish a footprint
  • erect foundational timbers on the footprint
  • join foundational timbers with additional timbers to complete the "shape" of the structure
  • cut joints on timbers to properly connect the timbers completing the structure

Understanding Kumiki will also allow you to better instruct the agent to implement your designs! For example, instead of saying "I want my building to be an L shape" you might say "establish an L shaped footprint for the building". If you ever have questions, you can also just ask the agent to explain!

Drawing Support

Drawing support (for making plans or per-member blueprints) is coming very soon!

For now, your best bet right now is to export as STEP or STL files and generate drawings in another software. Kumiki/Kigumi will add support for this in 3 stages:

  1. ability to measure features relative to each other in Kigumi
  2. ability to generate and export drawings inside kigumi

Contributing

If you'd like to contribute new joints, you can always create a new file in kumiki/joints/community and add yourself as a CODEOWNER for that file. These joints may eventually be promoted to the main joint folder.

If you'd like to contribute it's best to first contact me. There are plenty of joints and new features to work on :).

Developing Kumiki

To setup for local development, just check out this repo and use uv to manage all your dependencies. The Makefile has convenient shortcuts for all your setup and testing needs.

Kigumi has a separate project scanning flow such that it can be used with the Kumiki repo itself as the workspace. Just use Kigumi like you normally would to test Kumiki.

Developing Kigumi

Kigumi is 100% AI SLOP and it seems to not even be that awful :). Still, it's designed with more care than I might sometimes pretends. It may be best to open a bug report of feature request in github vs making a PR as I have no documented architectural guidance for kigumi yet simultaneously highly opinionated.

Metadata

Release files for kumiki 0.7.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for kumiki 0.7.1
File Size Uploaded
kumiki-0.7.1.tar.gz 15.3 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for kumiki 0.7.1
File Interpreter ABI Platform
kumiki-0.7.1-py3-none-any.whl Python 3 none any Details

Total release size: 16.9 MB

Release files / kumiki-0.7.1.tar.gz

Download URL kumiki-0.7.1.tar.gz
Size 15.3 MB
Tags Source
SHA-256 checksum
How to use checksums
517ddac790b7c039704b275962e213ff91f79062818d9adbc4b23242280514f4
BLAKE2b-256 checksum
How to use checksums
51e98283ef0237d44931f299aaab846adc1c0c5615a4d9ff85e6a12f2d5491a2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.

Transparency log

Release files / kumiki-0.7.1-py3-none-any.whl

Download URL kumiki-0.7.1-py3-none-any.whl
Size 1.7 MB
Tags Python 3
SHA-256 checksum
How to use checksums
4da573612362f266b54cf9c97447d32571e78459d82b3024f7daac518729a6e0
BLAKE2b-256 checksum
How to use checksums
4bc6eabd8d3117e9ff8c95e47582bec91816ecf89a292e4627b41142fa88ff64
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Sep 28, 2026.

Transparency log

Release history Release notifications | RSS feed

0.8.0

2 release files

This release

0.7.1 This release

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.10

2 release files

0.4.9

2 release files

0.4.8

2 release files

0.4.7

2 release files

0.4.6

2 release files

0.4.5

2 release files

0.4.4

2 release files

0.4.3

2 release files

0.4.2

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.6

2 release files

0.3.5

2 release files

0.3.4

2 release files

0.3.3

2 release files

0.2.8

2 release files

0.2.7

2 release files

0.2.6

2 release files

0.2.5

2 release files

0.2.4

2 release files

0.2.3

2 release files

0.2.2

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page