build-kit-locally

Construa um kit Bottlerocket (core-kit ou kernel-kit) e publique-o em um registro OCI local para testes de desenvolvimento e validação.

O que é build-kit-locally?

Esta habilidade permite construir e publicar localmente um kit Bottlerocket (core-kit ou kernel-kit) em um registro OCI executado em sua máquina, sem necessidade de publicar em registros de produção. Ela é ideal para desenvolvimento iterativo em kits, permitindo testar alterações em pacotes e validar variantes de imagem localmente. A habilidade suporta plataformas como Claude Code, Cursor e Codex, guiando o usuário pelos passos de iniciar o registro local, configurar o kit para publicação local, construir o kit (com suporte às arquiteturas x86_64 e aarch64) e publicá-lo com o prefixo de fornecedor 'local'. Também inclui validação da publicação, solução de problemas comuns e instruções para os próximos passos, como atualizar variantes para usar o novo kit. O fluxo completo é executado via comandos Makefile no diretório de um grove, exigindo Docker e as ferramentas `brdev` e `twoliter`.

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

Installed? Explore more Programação e Desenvolvimento skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Habilidade: Construir e Publicar Kit Localmente

Propósito

Construir um kit Bottlerocket (core-kit ou kernel-kit) e publicá-lo em um registro OCI local para testes e validação de desenvolvimento. Isso permite testar alterações no kit em builds de variantes sem publicar em registros de produção.

Quando Usar

  • Fazendo alterações nos pacotes do kit e testando-os em variantes
  • Desenvolvimento iterativo em kits
  • Antes de construir uma imagem de variante que depende de alterações no kit

Pré-requisitos

  • Docker instalado e em execução
  • Trabalhando a partir de um diretório grove
  • Repositório do kit clonado no diretório kits/

Procedimento

1. Garanta que o registro local esteja em execução

brdev registry start

2. Configure para o registro local

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

Isso cria Infra.toml apontando para o registro local para publicação.

3. Construa o kit

make build

Para uma arquitetura específica:

make build ARCH=x86_64
# ou
make build ARCH=aarch64

4. Publique no registro local

make publish VENDOR=local

Isso publica o kit em localhost:5000 com o prefixo de fornecedor "local".

5. Verifique a publicação

brdev registry list

Deve exibir seu kit na lista de repositórios.

Validação

Verifique se o kit está disponível:

brdev registry list

Deve retornar as tags de versão publicadas.

Problemas Comuns

Registro não em execução:

Erro: conexão recusada

Solução: Execute brdev registry start

Infra.toml não configurado:

Erro: fornecedor 'local' não encontrado

Solução: Execute brdev twoliter use-local-publish para criar a configuração

Permissão negada no Docker: Solução: Certifique-se de que o usuário está no grupo docker e o daemon do Docker está em execução

Próximos Passos

Após publicar um kit:

  1. Atualize o Twoliter.toml da variante para referenciar a nova versão do kit
  2. Execute make update no repositório da variante
  3. Construa a variante com 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

Habilidades Relacionadas