Tangram favicon

Tangram
Build and test software fast and reliably with AI-powered dependency management

What is Tangram?

Tangram is a build system and package manager designed to accelerate software development by ensuring fast and reliable builds. It locks all project dependencies, including compilers, interpreters, binaries, and libraries, in a lockfile. This approach breaks down tasks into small, independently cacheable steps, enabling efficient reuse of work across machines and distribution of tasks for optimal performance.

The system is programmable with TypeScript, providing autocomplete and type checking for easy build script creation. It utilizes a content-addressed storage system accessed through a virtual filesystem to minimize disk usage and network transfer. Users can get started by installing Tangram, creating a configuration file, and running build commands to manage dependencies and environments seamlessly.

Features

  • Dependency Locking: Locks all project dependencies including compilers and libraries in a lockfile
  • Cacheable Steps: Breaks tasks into small, independently cacheable steps for reuse across machines
  • TypeScript Programming: Programmable with TypeScript for autocomplete and type checking in builds
  • Content-Addressed Storage: Uses a virtual filesystem with content-addressed storage to minimize disk and network use
  • Environment Management: Builds reproducible environments with specific tool versions locked by the lockfile

Use Cases

  • Building Rust projects with locked toolchains and native libraries
  • Creating reproducible development environments with specific software versions
  • Sharing incremental build artifacts between machines for team collaboration
  • Managing dependencies for software projects to ensure consistency
  • Automating build and test processes in CI/CD pipelines

FAQs

  • How do I install Tangram?
    Run the install script with 'curl -fsSL https://tangram.dev/install.sh | sh' or download the latest release and add it to $PATH.
  • What is the purpose of the tangram.ts file?
    It is a configuration file at the root of your project used to define build scripts and dependencies in TypeScript.
  • How does Tangram handle dependency management?
    It locks all dependencies, including compilers and libraries, in a lockfile to ensure consistency and enable caching.

Helpful for people in the following professions

Blogs:

Didn't find tool you were looking for?

Be as detailed as possible for better results