Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

TeamCraft documentation

TeamCraft is an open-source product lifecycle management (PLM) system written in pure Rust: one binary that serves a web interface, a JSON REST API and a command line, on top of PostgreSQL. It manages the engineering data of a team – items, revisions, CAD files and their versions, bills of materials, change orders – with the check-out / check-in discipline of an engineering vault.

Work in progress: there is no official release yet. TeamCraft is under active development (version 0.x). Features, the REST API, the configuration and the database schema can still change. You are welcome to try it out and test it, and please report what you find on GitHub. It is provided “as is”, without warranty of any kind (MPL-2.0, sections 6 and 7). Don’t use it for production data yet, and keep backups.

Start here
Getting startedbuild, run, first project group and item
Vault, check-out and check-inthe everyday workflow
Supported file formats160+ formats (200+ extensions) of CAD, BIM, DCC, mesh and point-cloud programs
Configurationevery setting, all optional for a local test
REST APIautomate TeamCraft with personal access tokens
Rust APIthe crate documentation generated by rustdoc

The main pieces

ModuleRole
domainpure rules: roles, lifecycle states and transitions, revision letters, validation
servicesbusiness logic – the only code that writes to the database (permissions, row locks, audit log)
webserver-rendered HTML interface (cookie sessions, CSRF protection, strict CSP)
apiJSON REST API under /api/v1 (bearer tokens)
vaultcontent-addressed file storage (objects/ab/cd/<sha256>)
cadformat, cadrefsfile formats of the CAD programs, references inside CAD files
mesh, previewpure-Rust readers for the 3D preview (meshes, point clouds, STEP via truck; simmesh: VTK, VTU, FRD results)

Platforms

TeamCraft builds with cargo alone on Linux, macOS and Windows; the only service it needs is PostgreSQL. Step-by-step guides: Linux · macOS · Windows.

TeamCraft is free software under the Mozilla Public License 2.0. Contributions are welcome; see CONTRIBUTING.md. Report security problems privately, as described in SECURITY.md.