luxctl
CLI for projectlighthouse.io — learn by building real systems.

Install
Pre-built Binaries (Recommended)
Download the latest binary for your platform from the releases page:
Via Install Script
# one-liner (installs Rust if needed)
|
Via Cargo
# latest version
# specific version
Quick Start
# authenticate with your token from projectlighthouse.io
# verify setup
# see who you are
Usage
# list available projects
# start a project
# list tasks for current project
# show task details
# run validation
# run with verbose per-expectation output
# validate all tasks
# validate all with verbose output
# get hints (costs points)
Development
Supported Runtimes
- Go - detects
go.mod, builds withgo build . - Rust - detects
Cargo.toml, builds withcargo check
Contributing
Contributions are welcome! Here's how to get started:
- Fork the repository
- Create a feature branch:
git checkout -b feature/my-feature - Make your changes
- Run checks:
cargo fmt && cargo clippy && cargo test - Commit with a clear message
- Push and open a pull request
Guidelines
- Follow existing code style
- Add tests for new functionality
- Keep commits focused and atomic
- Update documentation as needed
Reporting Issues
- Check existing issues before creating a new one
- Include luxctl version (
luxctl --version) - Include OS and architecture
- Provide steps to reproduce
Release
Releases are automated via GitHub Actions. To create a new release:
- Update version in both
Cargo.tomlandsrc/lib.rs - Run
cargo buildto updateCargo.lock - Commit and push to master
- Wait for Auto Tag workflow to create the version tag
- Trigger the Release workflow:
The Release workflow will:
- Run tests
- Verify version matches tag
- Publish to crates.io
- Generate changelog
- Create GitHub release
License
AGPL-3.0 - See LICENSE for details.
This means you can use, modify, and distribute this software, but if you modify it and provide it as a service (even over a network), you must release your source code under the same license.