railpack

Configure and troubleshoot Railpack builds, with emphasis on RAILPACK_* environment variables, railpack.json overlays, build-plan inspection, local CLI installation and usage, and local BuildKit containers. Use for Railpack provider configuration, custom install/build/start commands, Mise or Apt packages, build or runtime variables and secrets, generated-plan debugging, BUILDKIT_HOST errors, or running Railpack from a release or source checkout.

Install
npx skills add 'https://github.com/railwayapp/railpack/tree/main/.'
Incomplete bundle · no download
main · 21a254fScanned 2026-09-17

Contributors

GitHub-linked commit authors for this SKILL.md at the saved revision. Co-authors and history before file renames are not included.

File history ↗

core/providers/cpp/cpp.go

core/providers/cpp/cpp.goBrowse 1970 files
View on GitHub
← Back to SKILL.md
package cpp import (	"fmt"	"path/filepath" 	"github.com/railwayapp/railpack/core/generate"	"github.com/railwayapp/railpack/core/plan") type CppProvider struct{} func (p *CppProvider) Name() string {	return "cpp"} func (p *CppProvider) CleansePlan(buildPlan *plan.BuildPlan) {} func (p *CppProvider) Detect(ctx *generate.GenerateContext) (bool, error) {	_, c := p.DetectCmake(ctx)	_, m := p.DetectMeson(ctx)	return c || m, nil} func (p *CppProvider) Initialize(ctx *generate.GenerateContext) error {	return nil} func (p *CppProvider) StartCommandHelp() string {	return ""} func (p *CppProvider) Plan(ctx *generate.GenerateContext) error { 	packages := ctx.GetMiseStepBuilder() 	buildsystem, found := p.DetectCmake(ctx)	if !found {		buildsystem, _ = p.DetectMeson(ctx)	} 	buildsystem.Install(ctx, packages) 	build := ctx.NewCommandStep("build")	build.AddInput(plan.NewStepLayer(packages.Name()))	build.AddInput(plan.NewLocalLayer())	build.AddCommand(plan.NewExecCommand("mkdir /build"))	buildsystem.Build(build) 	ctx.Deploy.StartCmd = fmt.Sprintf("/build/%s", filepath.Base(ctx.GetAppSource()))	ctx.Deploy.AddInputs([]plan.Layer{		plan.NewStepLayer(build.Name(), plan.NewIncludeFilter([]string{"/build/"})),	}) 	return nil}