Skip to content

GDSFactory+ CLI

This document reflects the current gfp CLI implemented in crates/gfp-server/src/commands/.

Top-Level Usage

$ gfp [--cwd PATH] <COMMAND> ...

--cwd changes the working directory before the command runs.

Commands

gfp hello

Simple smoke test that does not require Python.

$ gfp hello

gfp python-version

Print the Python version from the configured runtime.

$ gfp python-version

gfp numpy-version

Print the NumPy version from the configured runtime.

$ gfp numpy-version

gfp venv

Create a .venv using the backend's Python-runtime setup path.

$ gfp venv

gfp index

Index the current project and print JSON.

$ gfp index [--module NAME] [--function QUALIFIED_NAME] [--factories]

Options:

  • --module: filter to one module
  • --function: filter to one qualified function name
  • --factories: only include factory functions

gfp stats

Print resolution statistics for the current project.

$ gfp stats [--factories] [--sections resolved,libraries]

Options:

  • --factories: only count factory functions
  • --sections: comma-separated sections to show; defaults to resolved,libraries

gfp serve

Start the main backend server.

$ gfp serve [--host 127.0.0.1] [--port 8080]

Notes:

  • this is the backend process the VS Code extension spawns
  • it serves HTTP endpoints and the stdio JSON-RPC surface
  • it also owns server-side project watching and worker orchestration

gfp worker

Internal subprocess mode used by gfp serve for per-PDK Python-backed runtime operations.

$ gfp worker --project-root PATH --pdk QUALIFIED_PDK_NAME

This is not a normal user-facing command.

gfp scm

Schematic-format helpers.

Parse

$ gfp scm parse FILE [--from nyancir|picyml|dschematic]

Parses the input schematic and prints the Rust debug representation.

Convert

$ gfp scm convert FILE --to nyancir|picyml|dschematic [--from nyancir|picyml|dschematic]

Supported conversions currently include:

  • nyancir -> picyml
  • picyml -> nyancir
  • picyml -> dschematic
  • nyancir -> dschematic

gfp code-gen (debug builds only)

Generate TypeScript protocol types from the router.

$ gfp code-gen OUTPUT_PATH

gfp debug pdks (debug builds only)

Print discovered PDKs from the current project index.

$ gfp debug pdks

Removed From Older Docs

Older Markdown in this repo mentioned commands like:

  • gfp watch
  • gfp version
  • gfp verify
  • gfp visualize-3d

Those do not match the current CLI implemented in crates/gfp-server/src/commands/.