Multi-language
Builds, CI, environments, and services — defined as real programs with full IDE support.
Multi-language
Builds, CI, environments, and services — defined as real programs with full IDE support.
Multi-purpose
Dev environments, user configs, and long-running services — all defined and managed as artifacts.
Multi-service
Run builds on your machine or distribute them across remote workers. Same result either way.
Choose the SDK that fits your project. All SDKs produce identical artifacts.
Go SDK
For full-stack and platform engineers who want builds that read like the rest of their code.
go get github.com/ALT-F4-LLC/vorpal/sdk/gopackage main
import ( api "github.com/ALT-F4-LLC/vorpal/sdk/go/pkg/api/artifact" "github.com/ALT-F4-LLC/vorpal/sdk/go/pkg/artifact/language" "github.com/ALT-F4-LLC/vorpal/sdk/go/pkg/config")
func main() { ctx := config.GetContext()
systems := []api.ArtifactSystem{ api.ArtifactSystem_AARCH64_DARWIN, api.ArtifactSystem_AARCH64_LINUX, api.ArtifactSystem_X8664_DARWIN, api.ArtifactSystem_X8664_LINUX, }
language.NewGo("my-app", systems). WithBuildDirectory("cmd/app"). WithIncludes([]string{"cmd", "go.mod", "go.sum"}). Build(ctx)
ctx.Run()}Rust SDK
For systems programmers who expect compile-time guarantees — even from their build system.
cargo add vorpal-sdkuse vorpal_sdk::{ api::artifact::ArtifactSystem::*, artifact::language::rust::Rust, context::get_context,};
#[tokio::main]async fn main() -> anyhow::Result<()> { let ctx = &mut get_context().await?;
let systems = vec![Aarch64Darwin, Aarch64Linux, X8664Darwin, X8664Linux];
Rust::new("my-app", systems) .with_bins(vec!["my-app"]) .with_includes(vec!["src", "Cargo.lock", "Cargo.toml"]) .build(ctx) .await?;
ctx.run().await}TypeScript SDK
For frontend and tooling engineers who want builds in the language they already ship.
bun add @altf4llc/vorpal-sdkimport { ArtifactSystem, ConfigContext, TypeScript } from "@altf4llc/vorpal-sdk";
const ctx = ConfigContext.create();
const systems = [ ArtifactSystem.AARCH64_DARWIN, ArtifactSystem.AARCH64_LINUX, ArtifactSystem.X8664_DARWIN, ArtifactSystem.X8664_LINUX,];
await new TypeScript("my-app", systems) .withEntrypoint("src/main.ts") .withIncludes(["src", "bun.lock", "package.json", "tsconfig.json"]) .build(ctx);
await ctx.run();After defining your config in any SDK, the Vorpal CLI handles the rest.
Build
Produce a content-addressed artifact. Cached builds resolve instantly.
vorpal build my-appRun
Execute any built artifact by name — locally or from a remote registry.
vorpal run my-appInstall Vorpal in seconds and build your first artifact.