Claude-skill-registry build-variant-from-local-kits
Build a variant using locally published kits for development validation
install
source · Clone the upstream repo
git clone https://github.com/majiayu000/claude-skill-registry
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/majiayu000/claude-skill-registry "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/data/build-variant-from-local-kits" ~/.claude/skills/majiayu000-claude-skill-registry-build-variant-from-local-kits && rm -rf "$T"
manifest:
skills/data/build-variant-from-local-kits/SKILL.mdsource content
Skill: Build Variant from Local Kits
Purpose
Build a complete Bottlerocket variant image using kits published to the local development registry. This enables end-to-end testing of kit changes before publishing to production registries.
When to Use
- Testing kit changes in a complete variant build
- Creating bootable images for local testing
- End-to-end validation of kit modifications
Prerequisites
- Kits already built and published to local registry (use
skill)build-kit-locally - Local registry running
- Bottlerocket variant repository
Procedure
1. Configure for local registry
cd ./bottlerocket brdev twoliter use-local-deps
This creates
Twoliter.override pointing to the local registry for fetching kits.
2. Select which kits to fetch locally
Edit
Twoliter.toml and set vendor = "local" for kits you want from the local registry:
[kit.bottlerocket-core-kit] vendor = "local" # Fetch from local registry version = "2.0.0" [kit.bottlerocket-kernel-6.1-kit] # No vendor override - uses upstream version = "2.0.0"
Only kits with
vendor = "local" will be fetched from the local registry; others use upstream.
3. Update lock file
./tools/twoliter/twoliter update
4. Build the variant
cargo make
For specific variant:
cargo make -e BUILDSYS_VARIANT=aws-k8s-1.31
For specific architecture:
cargo make -e BUILDSYS_ARCH=aarch64
5. Locate the built image
ls -lh build/images/*.img
Validation
The build should complete successfully and produce an
.img file in build/images/.
Cleanup
When done testing, restore upstream configuration:
brdev twoliter use-upstream-deps
This removes
Twoliter.override.
Remember to also revert any vendor = "local" changes in Twoliter.toml.
Common Issues
Kit not found in registry:
Error: failed to pull kit
Solution: Verify kit is published with
brdev registry list
Version mismatch: Solution: Ensure
Twoliter.toml version matches the published kit version
Lock file out of sync: Solution: Run
./tools/twoliter/twoliter update again