Ship .NET to AWS. In 10 minutes.

~/Acme.Analytics — zsh

Start fast.

Install the tool, check the machine, scaffold, deploy.

$ dotnet tool install -g Kanject.Cli --add-source <source>
  1. Install

    dotnet tool install -g Kanject.Cli

    .NET global tool from your team’s NuGet feed.

  2. Check

    kanject doctor

    Verifies .NET, AWS CLI, Lambda tools, PATH, and project shape.

  3. Scaffold

    kanject new webapi --name Acme.Analytics

    Creates the solution, manifest, lockfile, stages, tests, and Lambda defaults.

  4. Deploy

    kanject aws deploy --env dev

    Packages, deploys, flips the alias, writes the ledger, then prints the URL.

Pick your path.

Different teams arrive with different problems. The CLI meets them where they are.

Green field

New .NET service

Go from an empty folder to a deployed dev API with stages, tests, manifest, and rollback already wired.

kanject new webapi
Existing app

Bring a Lambda under control

Add kanject beside an existing project without rewriting your app or replacing the AWS Lambda toolchain.

kanject init
Debugging

Reproduce cloud-only bugs locally

Run the app or Lambda TestTool with stage-shaped env, including clear warnings when secrets enter the local process.

kanject test --pull-env
Delivery

Ship every PR safely

Use preview stacks for ephemeral review environments, then deploy the same manifest to dev, stage, or prod.

kanject aws preview
Operations

Audit and recover

Browse the deployment ledger, mark bad versions, and flip prod back to a known-good Lambda version without rebuilding.

kanject aws rollback
Platform

Add CI, VPC, and domains

Scaffold CodePipeline/CodeBuild when you want AWS-native CI, or keep GitHub Actions and run deploy non-interactively.

kanject aws configure

Know what changes.

Six artifacts make the workflow predictable: reviewed inputs in git, one generated file, and an audit ledger in S3.

workflow artifacts
manifest.json git

service identity

Service name, provider, stages, entries, package type, and cross-repo dependencies.

manifest.lock.json git

sync output

Pinned SHAs and content hashes so CI builds the same dependency graph every time.

stages/<stage>.json git

stage config

Region, profile, stack, bucket, parameter path, and env references for each target.

preview.json git

optional policy

TTL, base stage, stack naming, and sharing rules for ephemeral preview stacks.

aws-lambda-tools.<stage>.json generated

deploy input

Regenerated from stage config before deploy. It is an output, not a file to hand-edit.

S3 deployment ledger S3

audit + rollback

Append-only version snapshots with commit SHA, deployer, env hashes, status, and alias target.

deploy reads the git inputs generates one per-stage Lambda tools file writes the ledger that rollback trusts

Roll back.

Five seconds. No rebuild.

acme-analytics — zsh

Command map.

Every command has a place in the loop.

01
Set up

Create or adopt a project, then verify the local toolchain.

  • kanject new

    Scaffold a new project from a template.

  • kanject init

    Initialise kanject in an existing project.

  • kanject doctor

    Pre-flight checks against the toolchain and stages.

  • kanject update

    Pull the newest CLI + template pack from NuGet.

02
Daily

Work locally, manage stages and env, and keep dependencies reproducible.

  • kanject add function

    Add a Lambda entry to a multi-function service.

  • kanject add stage

    Add a stage (qa, prod-eu, canary…) to the manifest.

  • kanject add lib

    Register a cross-repo class library as a dep.

  • kanject add env

    Bind plain, SSM, or Secrets Manager values into a stage.

  • kanject env

    Inspect the resolved env for a stage.

  • kanject sync

    Resolve and pack every cross-repo dep at its pinned ref.

  • kanject test

    Run locally — webapi, Lambda TestTool, library aware.

  • kanject migrate

    Convert legacy ProjectReference paths into manifest deps.

03
AWS

Deploy, preview, configure, audit, and recover against the active provider.

  • kanject aws deploy

    Build, package, deploy, publish version, flip alias, write ledger.

  • kanject aws rollback

    Pick a prior version. Alias-flip in five seconds.

  • kanject aws deployments

    Browse the ledger. Mark versions stable or broken.

  • kanject aws preview

    Per-PR ephemeral stacks: ls, rm, url, extend.

  • kanject aws pipeline

    Scaffold and bootstrap CodePipeline + CodeBuild.

  • kanject aws configure

    Wizards for VPC + custom-domain stage config.

What’s in the box.

The sharp edges kanject smooths over without replacing the tools you already trust.

Proof: kanject sync

Cross-repo dependencies

Declare a class library by git URL, ref, and project path. Kanject packs it into a local feed and rewrites consumers to use <PackageReference> so CI builds on a fresh machine.

Proof: _ledger/versions/*.json

Deployment ledger

Every deploy writes an append-only snapshot with version ARN, commit SHA, lockfile hash, deployer, and env hashes. Audit and rollback read the same source of truth.

Proof: kanject aws preview url

Preview stacks

Per-PR CloudFormation stacks inherit region, profile, and parameter path from a base stage, expire on a TTL, and can be cleaned up on a daily job.

Proof: kanject add function

Multi-Lambda single stack

Schema v2 lets one service host multiple Lambda entries in a single CloudFormation stack when they should deploy and roll back as one atomic unit.

Proof: aws.provider

Plugin-loaded providers

AWS is the product path today. The provider host keeps cloud-bound commands behind adapters, with owner checks and isolated plugin loading for future provider packages.

Proof: kanject aws deploy --yes

CI scaffolding (or not)

Generate CodePipeline and CodeBuild when you want AWS-native CI, or keep any runner that has .NET, AWS credentials, and the CLI installed.

Ready to ship?

Simplify your cloud
journey today.

Join forward-thinking developers and businesses who trust Kanject to eliminate cloud complexity and accelerate innovation.