v1.4.0 · real MeerK40t kernel

Turn an SVG into a laser job. From the command line.

Load a design, choose the machine and material, generate G-code, and check the result through MeerK40t's own engine. I built this because I wanted an AI agent to help make a real object. The laser stays disconnected until the job is ready.

pip install cli-anything-meerk40t
Agent skill npx skills add George-RD/cli-anything-meerk40t --skill cli-anything-meerk40t -g -y
JOB / KRAFT-HOUSE-A3 420 × 297 MM OFFLINE PREP
A3 laser job sheet A stylised cut sheet for the repository's kraft house example with a moving laser head and cut, score, and etch paths.
Runs on MeerK40t's own kernel

The CLI calls the same engine as the app.

Before hardware Build and check offline

The laser can stay disconnected.

Used for real Engraved on a Sculpfun S9

GRBL 1.1h over CH340 on macOS.

Why I built it

I wanted an agent to make something I could hold.

Creating the SVG was the easy part. The missing piece was getting it through MeerK40t, applying real machine and material settings, and leaving a job I could inspect before walking over to the laser.

  1. A

    Open or draw

    Load an SVG, or make the shapes with commands.

    elements rect · text · polyline
  2. B

    Pick the setup

    Choose the machine and material.

    --machine sculpfun-s9
  3. C

    Make the files

    Generate the job SVG, G-code, and manifest.

    job prepare
  4. D

    Check the job

    Verify the files and settings before leaving the terminal.

    job preflight
  5. Operator boundary
  6. E

    Go to the laser

    Connect, check the origin and placement, then run it in person.

    device check · frame

What the CLI tells you

Know what is safe to do next.

The output shows whether the job is ready for inspection, preflight, or an operator at the machine. The commands are real. The sample output is shortened for the page.

cli-anything-meerk40t OFFLINE / PREPARE

cli-anything-meerk40t --json --machine sculpfun-s9 job prepare house_a3.svg --out-dir ./output --material kraft-350gsm --allow-estimated

{
  "status": "prepared",
  "burn_ready": false,
  "settings": "estimated",
  "artifacts": [
    "house_a3_job.svg",
    "house_a3.gcode",
    "house_a3_manifest.json"
  ]
}
ESTIMATED

Files created. Inspect them now; calibrate before framing or burning.

At the machine

Calibrate first. Then connect the laser.

NO HARDWARE

Before the machine

  • Build or edit geometry
  • Pick a machine and material profile
  • Export job SVG and G-code for inspection
  • Verify hashes and settings fingerprint

With --allow-estimated, the files are for inspection. Calibrate before framing or burning.

LASER CONNECTED

At the laser

  1. Run a calibration ladder on scrap
  2. Record the result with materials record
  3. Prepare again without --allow-estimated
  4. Check focus, origin, glasses, ventilation, and placement

Frame and run at the machine, using calibrated settings.

Commands

The laser workflow, one command at a time.

project
new · open · save · info · close
elements
geometry · text · select · delete · frame
operations
cut · engrave · raster · classify · set
machine
bundled and user profiles
materials
list · show · create · record
job
prepare · preflight · ladder
device
detect · check · jog · goto · frame
attach
status · stage into a running GUI
export
SVG · SVGZ · G-code · PNG*
session
undo · redo · history · status
console
raw MeerK40t passthrough
repl
persistent interactive session

* PNG still needs the GUI renderer. G-code goes through MeerK40t's GRBL pipeline.

A real starting point

The repo includes the A3 house I used to test the workflow.

You get the design, the generator, the prepared job, G-code, and manifest. Copy the folder anywhere and run preflight without checking out the rest of the repo.

Start with the example

Run it. See every file the CLI makes.

Open the example