CommunityProgramación y desarrollogithub.com

build-kit-locally

Build a kit and publish it to a locally hosted registry for development testing

Compatible con~Claude Code~Codex CLI~Cursor
npx add-skill https://github.com/cbgbt/bottlerocket-forest/tree/main/skills/build-kit-locally

name: build-kit-locally description: Build a kit and publish it to a locally hosted registry for development testing

Skill: Build and Publish Kit

Purpose

Build a Bottlerocket kit (core-kit or kernel-kit) and publish it to a local OCI registry for development testing and validation. This allows you to test kit changes in variant builds without publishing to production registries.

When to Use

  • Making changes to kit packages and testing them in variants
  • Iterative development on kits
  • Before building a variant image that depends on kit changes

Prerequisites

  • Docker installed and running
  • Working from within a grove directory
  • Kit repository cloned in kits/ directory

Procedure

1. Ensure local registry is running

brdev registry start

2. Configure for local registry

cd kits/<kit-name>
brdev twoliter use-local-publish

This creates Infra.toml pointing to the local registry for publishing.

3. Build the kit

make build

For specific architecture:

make build ARCH=x86_64
# or
make build ARCH=aarch64

4. Publish to local registry

make publish VENDOR=local

This publishes the kit to localhost:5000 with the vendor prefix "local".

5. Verify publication

brdev registry list

Should show your kit in the repositories list.

Validation

Check the kit is available:

brdev registry list

Should return the published version tags.

Common Issues

Registry not running:

Error: connection refused

Solution: Run brdev registry start

Infra.toml not configured:

Error: vendor 'local' not found

Solution: Run brdev twoliter use-local-publish to create the configuration

Docker permission denied: Solution: Ensure user is in docker group and Docker daemon is running

Next Steps

After publishing a kit:

  1. Update variant's Twoliter.toml to reference the new kit version
  2. Run make update in the variant repo
  3. Build the variant with cargo make

Individual skills in this repo

This repo contains 19 individual skills — each has its own dedicated page.

ad-hoc-implementation-plan

Transform a rough plan into implement-commit ready artifacts. Allows rigorous review while implementing.

build-variant-from-local-kits

Build a variant using locally published kits for development validation

deep-research

Create educational documents that build understanding progressively with citations

edit-spec-file

Edit Bottlerocket RPM spec files following project style conventions

fact-find

Quick lookup of specific facts about Bottlerocket with citations

idea-honing

Clarify feature ideas through iterative Q&A, recording insights to guide concept development

implement-commit

Implement commits from an implementation plan using a TDD pipeline

local-registry

Start and manage a local OCI registry for Bottlerocket kit development

prepare-core-kit-release

Prepare bottlerocket-core-kit for release by bumping version and updating changelog

propose-feature-concept

Create a new feature concept document to pitch the idea and explain the problem/solution

propose-feature-design

Create or update feature technical design document with architecture and implementation guidance

propose-feature-requirements

Create or update feature requirements specification using EARS notation with examples and appendices

propose-feature-test-plan

Create a test plan mapping EARS requirements and Critical Constraints to specific tests

propose-implementation-plan

Create an implementation plan with atomic commits that build toward a complete feature

review-code

Deep code review generating PR comments via principled question-driven analysis

review-scope

Verify code changes match intended scope and requirements without exceeding boundaries

review-style

Verify code follows project style guides without providing improvement suggestions

test-local-twoliter

Build and test local changes to twoliter before releasing

update-twoliter

Update all Bottlerocket repositories to a new Twoliter version

Skills relacionados