consul-cli
Full admin/operator CLI for
CONSUL DEMOCRACY and
compatible municipal forks, including Munich's consul-lhm-dev.
The CLI controls the target installation through four real application surfaces:
- authenticated Rails controller routes, including forms, CSRF, redirects, and files;
- ActiveRecord models, callbacks, translations, attachments, and lifecycle methods;
- every native Rake task exposed by the installed application;
- Rails runner for operator jobs and fork-specific code without a dedicated route or task.
This is comprehensive operator control-surface coverage, not a second implementation of CONSUL's business logic. Authorization, validation, required parameters, and workflow preconditions remain enforced by the installed application.
Verified coverage
The same live E2E suite passes against both local targets:
| Target | Rails / Ruby | Operator routes | Controllers | Native tasks |
|---|---|---|---|---|
| Munich fork | 5.2.7.1 / 2.7.6 | 766 / 766 | 150 | 174 / 174 |
| Current upstream | 8.0.5 / 3.4.9 | 572 / 572 | 119 | 150 / 150 |
Machine-readable snapshots are in coverage/. Both report no unmapped route or Rake
task. Live tests authenticate through Devise, mutate a setting through the real admin
controller, verify persistence, establish CONSUL's separate management session, and
authorize all five non-admin operator roles. Temporary settings and roles are restored.
Layout
agent-harness/: installable CLI-Anything Python package and testsconsul-admin-api/: token-authenticated Rails bridge for data and route discoverycoverage/: per-installation operator coverage snapshots
See
agent-harness/cli_anything/consul/README.md
for installation, profiles, and command examples.
Install
pip install consul-democracy-cli # commands: consul-democracy, consul
The package installs both consul-democracy and the shorter consul. If you also use
HashiCorp Consul, whose binary is called consul too, prefer consul-democracy or install
this CLI in its own virtual environment.
Part of the civic tech agent-bridges toolkit
consul-cli is one bridge in the civic tech agent-bridges toolkit: open-source
command-line clients that let any AI agent drive a civic-tech platform through its own API, so
platforms interoperate without waiting for a standards process. Sibling bridges: polis-cli (Pol.is, Voxit), decidim-cli (Decidim), deliberaide-cli (deliberAIde).
Relationship to upstream
This is an independent client. It contains no CONSUL DEMOCRACY source code and speaks only to the documented HTTP surfaces of a running instance. deliberAIde offers it to the CONSUL DEMOCRACY community for adoption; the Apache-2.0 licence is chosen so the code can be vendored into the AGPL-3.0 CONSUL repositories without friction, since permissive code can be combined into copyleft ones but not the other way round.
Licence
Two licences, because this repository holds two kinds of code:
| Part | Licence | Why |
|---|---|---|
agent-harness/ (the CLI) |
Apache-2.0 | Independent client; speaks HTTP to a running installation and contains no CONSUL source code |
consul-admin-api/ (the Rails engine) |
AGPL-3.0-or-later | Loaded into and executed as part of the CONSUL application, which is AGPL-3.0 |
See LICENSE, NOTICE and consul-admin-api/LICENSE.
Copyright 2026 deliberAIde.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file consul_democracy_cli-0.2.0.tar.gz.
File metadata
- Download URL: consul_democracy_cli-0.2.0.tar.gz
- Upload date:
- Size: 28.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
201e62270fd2de79545ba371872897c660866b3641b36ce6a92f932d88ef19ce
|
|
| MD5 |
b9fb39043820558c50c8da62751ceace
|
|
| BLAKE2b-256 |
d193a89259b87deb76e1703b62a1c78c313f3086fafce6e94a1e0d327ddf462b
|
File details
Details for the file consul_democracy_cli-0.2.0-py3-none-any.whl.
File metadata
- Download URL: consul_democracy_cli-0.2.0-py3-none-any.whl
- Upload date:
- Size: 30.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/7.0.0 CPython/3.11.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d539a40c66b6fe7005d4d2420cd298e8cfd6789bcf4c50e6a5b52b2f7d875f86
|
|
| MD5 |
6509b7953faf0a0a2d02046e49100af8
|
|
| BLAKE2b-256 |
cda44260ea7ecfb1a3f87860c04ba2d96577b41bf3149081028e1e99f81e4b03
|