Rust port of c++ based kanttiinit cli, a cli to browse Helsinki area student restaurant menus. Supports the same features (and couple of extra ones) as the c++ version.
- Query-based search by restaurant or area name
- Day selection (today, tomorrow, etc.)
- Course filtering by keyword
- Language support (Finnish and English)
- No external binary dependencies (curl not required)
Download pre-built binaries for your platform from the releases page.
git clone https://github.com/Kanttiinit/cli && \
cd cli && \
cargo install --path .Search for restaurants in a specific area:
kanttiinit -q otaniemiSearch for restaurants by name:
kanttiinit -q unicafeFilter menu items by keyword:
kanttiinit -q töölö -f saladView menus for tomorrow:
kanttiinit -q alvari -d 1Options:
-q, --query <QUERY> Search restaurants by restaurant or area name
-d, --day <DAY> Specify day (0=today, 1=tomorrow, -1=yesterday, etc.) [default: 0]
-f, --filter <FILTER> Filter courses by keyword (case insensitive)
-n, --head <HEAD> Show first n restaurants
-v, --version Print version
-a, --address Show restaurant address in the output
-u, --url Show restaurant URL in the output
--hide-closed Hide closed restaurants when searching for todays menus
--hide-no-menu Hide restaurants without menu when searching for todays menus
--set-lang <SET_LANG> Save the preferred language [possible values: fi, en]
-h, --help Print help
Set your preferred language (Finnish or English):
kanttiinit --set-lang fi
kanttiinit --set-lang enThe language preference is saved in ~/.config/kanttiinit/config.toml.
This project uses devenv to manage the development environment. Install devenv and optionally direnv for automatic shell activation.
# With direnv (recommended)
direnv allow
# Without direnv
devenv shellList all tasks with devenv tasks list. Common ones:
devenv tasks run kanttiinit:build # Build the project
devenv tasks run kanttiinit:test # Run tests
devenv tasks run kanttiinit:lint # Run clippy with strict warnings
devenv tasks run kanttiinit:fmt # Format all files
devenv tasks run kanttiinit:fmt:check # Check formatting
devenv tasks run kanttiinit:watch # Watch for changes and runcargo build --release- Fork the repository
- Create your feature branch
- Make your changes
- Use conventional commits:
feat: add feature,fix: bug fix,docs: update docs - Push and open a Pull Request
Tickets are handled with tk CLI tool.
- Kanttiinit.fi for the API
- Original C++ CLI contributors
