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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

consul_democracy_cli-0.2.0.tar.gz (28.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

consul_democracy_cli-0.2.0-py3-none-any.whl (30.5 kB view details)

Uploaded Python 3

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

Hashes for consul_democracy_cli-0.2.0.tar.gz
Algorithm Hash digest
SHA256 201e62270fd2de79545ba371872897c660866b3641b36ce6a92f932d88ef19ce
MD5 b9fb39043820558c50c8da62751ceace
BLAKE2b-256 d193a89259b87deb76e1703b62a1c78c313f3086fafce6e94a1e0d327ddf462b

See more details on using hashes here.

File details

Details for the file consul_democracy_cli-0.2.0-py3-none-any.whl.

File metadata

File hashes

Hashes for consul_democracy_cli-0.2.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d539a40c66b6fe7005d4d2420cd298e8cfd6789bcf4c50e6a5b52b2f7d875f86
MD5 6509b7953faf0a0a2d02046e49100af8
BLAKE2b-256 cda44260ea7ecfb1a3f87860c04ba2d96577b41bf3149081028e1e99f81e4b03

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.2.0 This release

2 files

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