# Text-to-CAD System Requirements: Complete Setup Guide for Python and Node.js

> Discover text-to-CAD system requirements. Set up Python 3.11+, cadgen, and optional Node.js 16+ for local CAD Viewer functionality. Get the complete guide here.

- Repository: [earthtojake/text-to-cad](https://github.com/earthtojake/text-to-cad)
- Tags: how-to-guide
- Published: 2026-09-13

---

**Text-to-CAD requires Python 3.11 or newer, the `cadgen` library, and optionally Node.js 16+ with npm to run the CAD Viewer locally.**

The `earthtojake/text-to-cad` repository is a pure-Python library for generating CAD models from text prompts, shipping with a React-based web viewer. To execute any of its skills or run the visualization interface, your development environment must satisfy specific runtime dependencies across both Python and JavaScript ecosystems.

## Python Runtime Requirements

The core CAD generation engine relies on modern Python features and external CAD libraries.

### Python Version

You need **Python 3.11 or newer** to run the text-to-cad skills. The repository's [`README.md`](https://github.com/earthtojake/text-to-cad/blob/main/README.md) displays a Python version badge confirming this minimum requirement, ensuring compatibility with the `cadgen` runtime's type hints and async patterns.

### CADgen Dependency

All skills depend on the **cadgen** distribution, which provides the underlying geometry kernel and CLI tools. The specific version is pinned in [`skills/cad/requirements.txt`](https://github.com/earthtojake/text-to-cad/blob/main/skills/cad/requirements.txt) as `cadgen[snapshot]==0.5.1`, ensuring reproducible builds across different environments.

Install the runtime manually using:

```bash
python -m pip install -r skills/cad/requirements.txt

```

## JavaScript Runtime Requirements

The repository includes a web-based CAD Viewer for visualizing generated models in the browser.

### Node.js and Package Managers

To build or run the **CAD Viewer** located in `apps/viewer/`, you need **Node.js 16 or newer** and either npm or Yarn. The React client compiles against modern ES modules and requires the Node toolchain for dependency resolution and bundling.

Navigate to the viewer directory and install dependencies:

```bash
cd apps/viewer
npm install
npm run dev

```

This starts the local development server for the visualization interface.

## Version Control Prerequisites

Large binary assets in the repository require additional Git configuration.

### Git LFS for Model Fixtures

The `models/` directory contains large CAD model fixtures tracked via **Git LFS** (Large File Storage). As noted in [`AGENTS.md`](https://github.com/earthtojake/text-to-cad/blob/main/AGENTS.md), you must have Git LFS installed to fetch these assets during cloning. This requirement is optional if you only intend to use the generation skills without the bundled test fixtures.

```bash
git lfs install
git lfs pull

```

## Cross-Platform Compatibility

Text-to-cad runs on any operating system supporting the standard Python and Node.js toolchains, including Linux, macOS, and Windows. No platform-specific native binaries are required beyond the standard runtime environments.

## Installation Methods

You can install and run text-to-cad using either the Skills CLI or direct Python execution.

### Using the Skills CLI

The preferred method for adding the repository to your environment:

```bash
npx skills add earthtojake/text-to-cad

```

### Direct CLI Execution

Run CAD generation directly via the `cadgen` module:

```bash
python -m cadgen.cli cad --prompt "Create a 20 mm cube" --output cube.step

```

This command invokes the CLI entry point defined in `cadgen`, processing the natural language prompt and exporting a STEP file.

## Summary

- **Python 3.11+** is mandatory for running the core generation logic according to [`README.md`](https://github.com/earthtojake/text-to-cad/blob/main/README.md).
- Install **cadgen[snapshot]==0.5.1** via [`skills/cad/requirements.txt`](https://github.com/earthtojake/text-to-cad/blob/main/skills/cad/requirements.txt) to access the geometry kernel.
- **Node.js 16+** and npm are required only for building the CAD Viewer in `apps/viewer/`.
- **Git LFS** is necessary to clone large model fixtures from the `models/` directory.
- The repository supports Linux, macOS, and Windows without additional native dependencies.

## Frequently Asked Questions

### Do I need Node.js to generate CAD models with text-to-cad?

No. Node.js is only required if you want to run the web-based CAD Viewer locally. The core Python skills in `earthtojake/text-to-cad` function entirely within the Python 3.11+ environment using the `cadgen` library.

### What version of cadgen does text-to-cad require?

The repository pins `cadgen[snapshot]==0.5.1` in [`skills/cad/requirements.txt`](https://github.com/earthtojake/text-to-cad/blob/main/skills/cad/requirements.txt). This specific version ensures compatibility with the prompt parsing and geometry export functions used by the skills.

### Can I run text-to-cad on Windows?

Yes. Since text-to-cad is a pure-Python library with a JavaScript frontend, it runs on any operating system that supports standard Python and Node.js installations, including Windows, macOS, and Linux.

### Is Git LFS mandatory for using the repository?

Git LFS is only mandatory if you need the large CAD model fixtures stored in the `models/` directory. You can skip Git LFS if you only intend to use the generation skills and provide your own model files.