A command-line interface tool for validating MoreThanCertified lesson tasks locally.
- Submit lesson tasks for validation
- Interactive progress tracking
Currently, the mtc-cli is only supported on macOS and Linux (including linux via Windows Subsystem for Linux).
curl -s https://app.morethancertified.com/install.sh | sh
go install github.com/morethancertified/mtc-cli
Submit a lesson for validation:
mtc submit <lesson-token>
To reset your progress for a lesson:
mtc submit <lesson-token> -r
Example:
mtc submit cm4ppz694200blze51ts1234
The project uses several development tools and commands:
This project uses just to manage commands. Please install it to use the commands below.
Reference to justfile commands:
just run
- Run the application from sourcejust build
- Build the binary to bin/mtc-clijust test
- Run testsjust fmt
- Format codejust clean
- Clean build artifactsjust install
- Install the binaryjust uninstall
- Uninstall the binary
The CLI uses Viper for configuration management. By default, it creates a config file at:
$HOME/.config/mtc/config.json
You can override the config location using the --config
flag.
cmd/
- Command implementationsinternal/
- Internal packagesmtcapi/
- API client implementationwidgets/
- TUI components
The project uses GoReleaser for building and distributing releases. Configuration can be found in:
MIT License - See LICENSE file for details.
- Clone the repository (
git clone https://github.com/morethancertified/mtc-cli
) - Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
Key dependencies include:
github.com/spf13/cobra
- CLI frameworkgithub.com/spf13/viper
- Configuration managementgithub.com/charmbracelet/bubbles
- Terminal UI componentsgithub.com/go-resty/resty/v2
- HTTP client
For a complete list of dependencies, see: go.mod