clan-core/pkgs/clan-cli
2023-09-15 12:17:07 +00:00
..
bin generate openapi 2023-08-25 11:39:46 +02:00
clan_cli secrets: use CLAN_DIR instead of clanCore.clanDir for fact storage 2023-09-15 12:17:07 +00:00
tests cli: rename clan_flake to test_flake 2023-09-15 12:36:16 +02:00
.envrc clan-cli/direnv: also watch default.nix 2023-08-30 11:27:43 +02:00
default.nix cli: fix nixpkgs unfree import 2023-09-06 17:37:41 +02:00
deps-flake.nix clan-cli: use dependency flake instead of registry 2023-09-06 14:47:28 +02:00
flake-module.nix fix uneccessary clan-cli rebuilds by not relying on self 2023-08-27 10:21:02 +02:00
pyproject.toml ruff: also enforce variable naming rules 2023-08-27 10:51:47 +02:00
README.md clan-cli: Document how to run single-threaded 2023-08-30 11:28:07 +02:00
shell.nix add ipdb to python breakpoint() 2023-09-15 13:45:01 +02:00

clan-cli

The clan-cli contains the command line interface as well as the graphical webui through the clan webui command.

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

Hacking on the webui

By default the webui is build from a tarball available https://git.clan.lol/clan/-/packages/generic/ui/. To start a local developement environment instead, use the --dev flag:

./bin/clan webui --dev

This will spawn two webserver, a python one to for the api and a nodejs one that rebuilds the ui on the fly.

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 --workers "" -s

You can also run a single test like this:

pytest --workers "" -s tests/test_secrets_cli.py::test_users