Contributing
Thank you for your interest in contributing to the TunaOS ISO Builder! This document provides guidelines and instructions for submitting contributions to this repository.
Development Setup & Verificationβ
Before opening a pull request, ensure your changes have been tested locally across the affected components.
1. Web Application (app/public)β
- Ensure
tbox.wasmandwasm_exec.jsare populated as described in README.md. - Serve locally:
cd app/public && python3 -m http.server 8080
2. End-to-End Tests (e2e/)β
- Run Playwright test suite to verify UI and WASM functionality:
cd e2enpm cinpx playwright install --with-deps chromiumnpx playwright test --grep-invert @full
3. Native Application (native/)β
- Run tests (see
native/README.mdfor platform build prerequisites):cd nativego vet ./...go test ./... native/also carries a.golangci.yml(schemaversion: "2", so it needs golangci-lint v2, e.g.go install github.com/golangci/golangci-lint/v2/cmd/golangci-lint@latest). CI does not run this yet, so lint it yourself before opening a PR (the config'sformatterssection runsgofmt/goimportsas part of this too):cd nativegolangci-lint run
Submitting Pull Requestsβ
- Branch Naming & DCO: Create a feature or bugfix branch. Sign all commits with Developer Certificate of Origin (
git commit -s). - Pull Requests: Open a pull request against the
mainbranch. Provide a clear description of the changes and link any related issues. - CI Pipeline: All PRs must pass automated check workflows β
native-linux/native-windows/native-macos(go vet+go test) and thee2einspect-tier suite. golangci-lint is configured but not yet wired into CI (run it locally per the native step above).