Skip to main content

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 tests
  • consul-admin-api/: token-authenticated Rails bridge for data and route discovery
  • coverage/: 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.

Metadata

Release files for consul-democracy-cli 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for consul-democracy-cli 0.2.0
File Size Uploaded Provenance Actions
consul_democracy_cli-0.2.0.tar.gz 28.7 kB Without provenance Details for consul_democracy_cli-0.2.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for consul-democracy-cli 0.2.0
File Interpreter ABI Platform Actions
consul_democracy_cli-0.2.0-py3-none-any.whl Python 3 none any Details for consul_democracy_cli-0.2.0-py3-none-any.whl

Total release size: 59.2 kB

Release files / consul_democracy_cli-0.2.0.tar.gz

Download URL consul_democracy_cli-0.2.0.tar.gz
Size 28.7 kB
Tags Source
SHA-256 checksum
How to use checksums
201e62270fd2de79545ba371872897c660866b3641b36ce6a92f932d88ef19ce
BLAKE2b-256 checksum
How to use checksums
d193a89259b87deb76e1703b62a1c78c313f3086fafce6e94a1e0d327ddf462b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.9

Release files / consul_democracy_cli-0.2.0-py3-none-any.whl

Download URL consul_democracy_cli-0.2.0-py3-none-any.whl
Size 30.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d539a40c66b6fe7005d4d2420cd298e8cfd6789bcf4c50e6a5b52b2f7d875f86
BLAKE2b-256 checksum
How to use checksums
cda44260ea7ecfb1a3f87860c04ba2d96577b41bf3149081028e1e99f81e4b03
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.11.9

Security for consul-democracy-cli 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page