1
0
forked from clan/clan-core
clan-core/pkgs/clan-cli
a-kenji 23ef39a2d9 clan: add dynamic completions
Add dynamic completion scaffolding to the clan `cli`.
Also add a dynamic completion mechanism for machines for commands that
have machines as their sole argument.

More intricate dynamic completions will be implemented in follow up
PR's.
2024-05-31 12:55:41 +02:00
..
.vscode API: Added Path validators. api/flake/create inits git repo. Fixed vscode interpreter problem 2023-10-27 19:11:27 +02:00
bin Deleted everything webui 2023-12-14 18:47:14 +01:00
clan_cli clan: add dynamic completions 2024-05-31 12:55:41 +02:00
tests make config command read-only 2024-05-29 13:17:55 +02:00
.envrc select-shell: Fix breakage with previous shell.nix change 2024-03-25 00:32:03 +01:00
api.py API: handle functions with multiple arguments 2024-05-26 18:04:49 +02:00
default.nix gui-installer: depend on git + ignore flake config 2024-05-29 17:42:44 +02:00
deps-flake.nix clan-cli: use dependency flake instead of registry 2023-09-06 14:47:28 +02:00
docs.py clan/docs.py: remove epilog from the reference overview 2024-05-28 20:01:48 +02:00
flake-module.nix clan ui: setup typed api method 2024-05-20 19:34:49 +02:00
pyproject.toml pkgs: add metadata 2024-04-17 13:32:50 +02:00
README.md docs: fix unsupported languages 2024-04-10 18:40:51 +02:00
shell.nix Add --ssh-pubkey FILE argument 2024-05-14 15:41:15 +02:00

clan-cli

The clan-cli contains the command line interface

Hacking on the cli

We recommend setting up direnv to load the developement with nix. If you do not have it set up you can also use nix develop directly like this:

use flake .#clan-cli --builders ''

After you can use the local bin wrapper to test things in the cli:

./bin/clan

Run locally single-threaded for debugging

By default tests run in parallel using pytest-parallel. pytest-parallel however breaks breakpoint(). To disable it, use this:

pytest -n0 -s

You can also run a single test like this:

pytest -n0 -s tests/test_secrets_cli.py::test_users

Run tests in nix container

Run all impure checks

nix run .#impure-checks

Run all checks

nix flake check