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 started | build, run, first project group and item |
| Vault, check-out and check-in | the everyday workflow |
| Supported file formats | 160+ formats (200+ extensions) of CAD, BIM, DCC, mesh and point-cloud programs |
| Configuration | every setting, all optional for a local test |
| REST API | automate TeamCraft with personal access tokens |
| Rust API | the crate documentation generated by rustdoc |
The main pieces
| Module | Role |
|---|---|
domain | pure rules: roles, lifecycle states and transitions, revision letters, validation |
services | business logic – the only code that writes to the database (permissions, row locks, audit log) |
web | server-rendered HTML interface (cookie sessions, CSRF protection, strict CSP) |
api | JSON REST API under /api/v1 (bearer tokens) |
vault | content-addressed file storage (objects/ab/cd/<sha256>) |
cadformat, cadrefs | file formats of the CAD programs, references inside CAD files |
mesh, preview | pure-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.