test-local-twoliter

Compile e teste alterações locais no twoliter antes de lançar uma nova versão.

O que é test-local-twoliter?

Esta skill permite que desenvolvedores construam o twoliter a partir do código-fonte local e configurem kits para usar o binário localmente compilado durante os testes de alterações antes do lançamento. Ela é útil principalmente para quem está modificando o código-fonte do twoliter, depurando seu comportamento ou validando correções antes de criar um PR. A skill suporta ambientes que possuem o repositório twoliter clonado, a toolchain Rust instalada e pelo menos um repositório de kit para testar. O fluxo de trabalho envolve editar os arquivos-fonte do twoliter, executar `cargo build --release` para compilar o binário e, em seguida, usar a variável de ambiente `TWOLITER_DIR` para forçar o kit a utilizar a versão local do twoliter durante o build, permitindo iterações rápidas e validação das mudanças de forma isolada.

Funciona com~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/cbgbt/bottlerocket-forest/tree/main/skills/test-local-twoliter

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: Testar Alterações Locais no Twoliter

Propósito

Compilar o twoliter a partir do código-fonte local e configurar os kits para usar o binário compilado localmente, permitindo testar alterações antes do lançamento.

Quando Usar

  • Fazendo alterações no código-fonte do twoliter
  • Testando modificações no twoliter antes de criar um PR
  • Depurando o comportamento do twoliter
  • Validando correções no twoliter

Pré-requisitos

  • Repositório twoliter clonado no forest
  • Toolchain Rust instalada
  • Pelo menos um repositório de kit para testar

Procedimento

1. Faça alterações no código-fonte do twoliter

Edite os arquivos em twoliter/twoliter/src/ ou twoliter/twoliter/embedded/.

2. Compile o twoliter

cd twoliter
cargo build --release

O binário estará em target/release/twoliter.

3. Teste as alterações

Sobrescreva TWOLITER_DIR para apontar para o diretório de build local:

cd kits/bottlerocket-core-kit
make build TWOLITER_DIR=./twoliter/target/release

4. Itere

Após mais alterações:

# Recompile o twoliter
cd ./twoliter
cargo build --release

# Teste novamente
cd kits/bottlerocket-core-kit
make build TWOLITER_DIR=./twoliter/target/release

Validação

Verifique se o twoliter local está sendo usado conferindo o caminho:

cd kits/bottlerocket-core-kit
make build TWOLITER_DIR=./twoliter/target/release 2>&1 | head -5

Você deve ver seu twoliter modificado sendo invocado.

Problemas Comuns

Alterações não estão surtindo efeito:

  • Certifique-se de executar cargo build --release após fazer alterações
  • Verifique se o caminho em TWOLITER_DIR está correto
  • Confirme que o binário existe: ls -lh ./twoliter/target/release/twoliter

Erros de compilação no twoliter:

  • Execute cargo check para ver mensagens de erro detalhadas
  • Execute cargo clippy para detectar problemas comuns
  • Execute cargo test para verificar se os testes passam

Falha no build do kit com o twoliter local:

  • Verifique a saída do twoliter em busca de mensagens de erro
  • Adicione --log-level debug modificando temporariamente o Makefile ou usando o binário twoliter diretamente

Revertendo para a Versão Lançada

Para voltar a usar a versão lançada, basta omitir a sobrescrita de TWOLITER_DIR:

cd kits/bottlerocket-core-kit
make build

Isso usará o tools/twoliter/twoliter padrão da versão lançada.

Habilidades Relacionadas

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-kit-locally

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

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

update-twoliter

Update all Bottlerocket repositories to a new Twoliter version

Habilidades Relacionadas