CommunityCodierung & Entwicklunggithub.com

test-local-twoliter

Baue Twoliter aus lokalen Quellen und konfiguriere Kits, um die lokal erstellte Binärdatei für Tests vor der Veröffentlichung zu verwenden.

Was ist test-local-twoliter?

Diese Fähigkeit ermöglicht es Entwicklern, Änderungen am Twoliter-Quellcode lokal zu erstellen und zu testen, bevor ein Release oder PR erstellt wird. Sie ist nützlich, um Twoliter-Modifikationen zu validieren, Fehler zu beheben und sicherzustellen, dass Änderungen wie erwartet funktionieren. Die Fähigkeit unterstützt Plattformen wie Claude Code, Cursor und Codex, die mit Makefiles und Rust-Toolchains arbeiten. Der Arbeitsablauf umfasst das Bearbeiten von Twoliter-Quellen in `twoliter/twoliter/src/` oder `twoliter/twoliter/embedded/`, das Kompilieren mit `cargo build --release` und das Testen durch Setzen der Umgebungsvariable `TWOLITER_DIR` auf das Build-Verzeichnis. Die Validierung erfolgt durch Überprüfung des Pfads der verwendeten Twoliter-Binärdatei während eines Kit-Builds. Häufige Probleme wie nicht übernommene Änderungen oder Build-Fehler werden durch kontrollierte Schritte wie `cargo check`, `cargo clippy` und Debug-Logs gelöst.

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

Installed? Explore more Codierung & Entwicklung skills: steipete/bluebubbles, steipete/eightctl, steipete/blucli · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Fähigkeit: Testen lokaler Twoliter-Änderungen

Zweck

Twoliter aus lokalen Quellen erstellen und Kits so konfigurieren, dass sie die lokal erstellte Binärdatei zum Testen von Änderungen vor der Veröffentlichung verwenden.

Wann verwenden

  • Änderungen am Twoliter-Quellcode vornehmen
  • Twoliter-Modifikationen vor dem Erstellen eines PR testen
  • Fehlverhalten von Twoliter debuggen
  • Korrekturen an Twoliter validieren

Voraussetzungen

  • Twoliter-Repository im Forest geklont
  • Rust-Toolchain installiert
  • Mindestens ein Kit-Repository zum Testen

Vorgehensweise

1. Änderungen am Twoliter-Quellcode vornehmen

Bearbeiten Sie Dateien in twoliter/twoliter/src/ oder twoliter/twoliter/embedded/.

2. Twoliter erstellen

cd twoliter
cargo build --release

Die Binärdatei befindet sich unter target/release/twoliter.

3. Änderungen testen

Überschreiben Sie TWOLITER_DIR, um auf Ihr lokales Build-Verzeichnis zu verweisen:

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

4. Iterieren

Nach weiteren Änderungen:

# Twoliter neu erstellen
cd ./twoliter
cargo build --release

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

Validierung

Überprüfen Sie, ob der lokale Twoliter verwendet wird, indem Sie den Pfad prüfen:

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

Sie sollten sehen, dass Ihr modifizierter Twoliter aufgerufen wird.

Häufige Probleme

Änderungen werden nicht übernommen:

  • Stellen Sie sicher, dass Sie cargo build --release nach den Änderungen ausgeführt haben
  • Überprüfen Sie, ob der Pfad in TWOLITER_DIR korrekt ist
  • Prüfen Sie, ob die Binärdatei existiert: ls -lh ./twoliter/target/release/twoliter

Build-Fehler in Twoliter:

  • Führen Sie cargo check aus, um detaillierte Fehlermeldungen zu sehen
  • Führen Sie cargo clippy aus, um häufige Probleme zu erkennen
  • Führen Sie cargo test aus, um zu überprüfen, ob die Tests bestehen

Kit-Build schlägt mit lokalem Twoliter fehl:

  • Überprüfen Sie die Twoliter-Ausgabe auf Fehlermeldungen
  • Fügen Sie --log-level debug hinzu, indem Sie das Makefile vorübergehend ändern oder die Twoliter-Binärdatei direkt verwenden

Rückkehr zur veröffentlichten Version

Um zur veröffentlichten Version zurückzukehren, lassen Sie einfach die Überschreibung von TWOLITER_DIR weg:

cd kits/bottlerocket-core-kit
make build

Dadurch wird die Standard-tools/twoliter/twoliter aus der veröffentlichten Version verwendet.

Verwandte Fähigkeiten

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

Verwandte Skills