gjalla CLI — visibility and control for your software architecture.
Project description
Gjalla CLI
Visibility and control for your software architecture. Agentic engineering made magical.
Installation
pip install gjalla
Requires Python >= 3.10.
Commands
| Command | Description |
|---|---|
setup |
Set up gjalla in a repository (interactive wizard, or use subcommands) |
status |
Show configuration status |
state |
Navigate project state (architecture, tech stack, capabilities, etc.) |
rules |
View and manage project rules, principles, ADRs, and invariants |
attest |
Create commit attestation (interactive or programmatic) |
check |
Validate commit attestation (used by pre-commit hook) |
sync |
Upload pending attestations and refresh local cache |
project |
Manage gjalla projects |
User Guide
Initial Setup
gjalla setup
Launches the interactive wizard:
- Check git repository
- Configure API key
- Verify API key
- Select project
- Create
.gjalla/project config - Install commit attestation guardrails
- Install MCP server for Claude Code
Non-interactive subcommands:
gjalla setup auth <api-key> # Save and verify an API key
gjalla setup project <pid> # Link this repo to a project
gjalla setup project --check-access # List accessible projects
gjalla setup hooks # Install git hooks
gjalla setup mcp # Install MCP server entry
Viewing Project State
gjalla state show # List top-level keys with entry counts
gjalla state show -c architecture # Full architecture section
gjalla state show -c architecture -v # Architecture + file evidence
gjalla state show -e architecture.api-server # Drill into a single element
gjalla state show -e architecture.api-server -v # Element + file evidence
gjalla state show -c tech_stack # Tech stack, frameworks, vendors
gjalla state show -c capabilities # Project capabilities and status
gjalla state show -c data_model # Data entities, domains, attributes
gjalla state show -c services # External services and integrations
gjalla state show -c surface_area # API endpoints and auth requirements
gjalla state show --system # Cross-project system context
Viewing Project Rules
gjalla rules show # List rule categories with counts
gjalla rules show -c adr # Show only ADRs
gjalla rules show -c principle # Show only principles
gjalla rules show -c invariant # Show only invariants
gjalla rules add -n "No ORM" -d "Use raw SQL queries" # Add a rule
Daily Usage
Automatic (via pre-commit hook):
gjalla checkruns on eachgit commitand validates the attestation
Manual / Agent workflow:
git add <files>
gjalla attest # interactive mode
git commit -m "message"
Programmatic (for agents/scripts):
gjalla attest \
--staged-diff-hash $(git diff --staged | shasum -a 256 | cut -d' ' -f1) \
--agent claude-code --provider anthropic --model claude-opus-4-6 \
--summary "Added rate limiting to auth endpoints" \
--rules '{"checked": true, "applicable": [...]}' \
--arch-changes '{"architecture": {"elements": [{"name": "web-api", "change": "modified", ...}], ...}}'
Print attestation template:
gjalla attest --example
Refreshing Cache
gjalla sync
Uploads pending attestations and refreshes the local cache from the remote server.
Checking Status
gjalla status
Shows: git repo, global config, API key, project mapping, project config, guardrails, telemetry, attestation log.
Configuration
Global config: ~/.gjalla/config.yaml
api_key: "your-api-key"
Project config: .gjalla/config.yaml (in repo root)
Environment variables:
GJALLA_API_KEY— overrides config file API key
Questions or feedback: hello@gjalla.io
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
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 gjalla-0.5.1-cp314-cp314-win_amd64.whl.
File metadata
- Download URL: gjalla-0.5.1-cp314-cp314-win_amd64.whl
- Upload date:
- Size: 1.7 MB
- Tags: CPython 3.14, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e12023a314ae7d7e022fbf03b037058a0a5ecb3de1b9afd7de696922b1a15c85
|
|
| MD5 |
71defbc8b3d12b8d85e160ad98105d62
|
|
| BLAKE2b-256 |
f5bbbae346732464a10fd053af82c4beca2e248d6dc64cf50dc262858978a710
|
Provenance
The following attestation bundles were made for gjalla-0.5.1-cp314-cp314-win_amd64.whl:
Publisher:
ci-publish.yml on elliemdaw/gjalla-precommit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gjalla-0.5.1-cp314-cp314-win_amd64.whl -
Subject digest:
e12023a314ae7d7e022fbf03b037058a0a5ecb3de1b9afd7de696922b1a15c85 - Sigstore transparency entry: 1060151431
- Sigstore integration time:
-
Permalink:
elliemdaw/gjalla-precommit@1ea153db8cc6157cc6a97d33c0dfd858f05bdf46 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/elliemdaw
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci-publish.yml@1ea153db8cc6157cc6a97d33c0dfd858f05bdf46 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gjalla-0.5.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.
File metadata
- Download URL: gjalla-0.5.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
- Upload date:
- Size: 12.1 MB
- Tags: CPython 3.14, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
47ad6fadeaa3cfe96b1634eee3692936800e943f1be198c18cab6d9cd08ee9f4
|
|
| MD5 |
3a1ac122aebc07066fb063a2b125f7ed
|
|
| BLAKE2b-256 |
db74218fbbbb067ef17b3677c5380d37aa4db155e3a289ea68a49fe300cac868
|
Provenance
The following attestation bundles were made for gjalla-0.5.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:
Publisher:
ci-publish.yml on elliemdaw/gjalla-precommit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gjalla-0.5.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl -
Subject digest:
47ad6fadeaa3cfe96b1634eee3692936800e943f1be198c18cab6d9cd08ee9f4 - Sigstore transparency entry: 1060151369
- Sigstore integration time:
-
Permalink:
elliemdaw/gjalla-precommit@1ea153db8cc6157cc6a97d33c0dfd858f05bdf46 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/elliemdaw
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci-publish.yml@1ea153db8cc6157cc6a97d33c0dfd858f05bdf46 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gjalla-0.5.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl.
File metadata
- Download URL: gjalla-0.5.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl
- Upload date:
- Size: 11.6 MB
- Tags: CPython 3.14, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
22c9ef1e68c19f8ae607ab6e04874b010559e24dfb09e79036a09ec56eb3ac4e
|
|
| MD5 |
0e9023506e70215a6cbb78fd6a0db3d3
|
|
| BLAKE2b-256 |
2e53e3e5d8cf64e3c49c64cd1477a44be68dc7588b7fca04b0a0432213095cf3
|
Provenance
The following attestation bundles were made for gjalla-0.5.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl:
Publisher:
ci-publish.yml on elliemdaw/gjalla-precommit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gjalla-0.5.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl -
Subject digest:
22c9ef1e68c19f8ae607ab6e04874b010559e24dfb09e79036a09ec56eb3ac4e - Sigstore transparency entry: 1060151338
- Sigstore integration time:
-
Permalink:
elliemdaw/gjalla-precommit@1ea153db8cc6157cc6a97d33c0dfd858f05bdf46 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/elliemdaw
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci-publish.yml@1ea153db8cc6157cc6a97d33c0dfd858f05bdf46 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gjalla-0.5.1-cp314-cp314-macosx_10_15_universal2.whl.
File metadata
- Download URL: gjalla-0.5.1-cp314-cp314-macosx_10_15_universal2.whl
- Upload date:
- Size: 3.7 MB
- Tags: CPython 3.14, macOS 10.15+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7656272a639b3e4684b19536e199517ce19365600fdd355a5f80efb9bf3e9b99
|
|
| MD5 |
83222e34e0e8eaafea2a742a2f7d7542
|
|
| BLAKE2b-256 |
ef6264360d8bc52388ee0159ec3afc1089fd8ad205a05140bc569778776bd115
|
Provenance
The following attestation bundles were made for gjalla-0.5.1-cp314-cp314-macosx_10_15_universal2.whl:
Publisher:
ci-publish.yml on elliemdaw/gjalla-precommit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gjalla-0.5.1-cp314-cp314-macosx_10_15_universal2.whl -
Subject digest:
7656272a639b3e4684b19536e199517ce19365600fdd355a5f80efb9bf3e9b99 - Sigstore transparency entry: 1060151297
- Sigstore integration time:
-
Permalink:
elliemdaw/gjalla-precommit@1ea153db8cc6157cc6a97d33c0dfd858f05bdf46 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/elliemdaw
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci-publish.yml@1ea153db8cc6157cc6a97d33c0dfd858f05bdf46 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gjalla-0.5.1-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: gjalla-0.5.1-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 1.7 MB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6b7190fd16ee0b6c8e22cf27748b7ec463f41a9a954328c9504c6e4d505eeaab
|
|
| MD5 |
1ddbad3ef37b98e4a95faf94bc605363
|
|
| BLAKE2b-256 |
efc62f834c53113c4e2b8baa72d7e1aa31b1f889cceacff38b49b0e882051c73
|
Provenance
The following attestation bundles were made for gjalla-0.5.1-cp311-cp311-win_amd64.whl:
Publisher:
ci-publish.yml on elliemdaw/gjalla-precommit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gjalla-0.5.1-cp311-cp311-win_amd64.whl -
Subject digest:
6b7190fd16ee0b6c8e22cf27748b7ec463f41a9a954328c9504c6e4d505eeaab - Sigstore transparency entry: 1060151239
- Sigstore integration time:
-
Permalink:
elliemdaw/gjalla-precommit@1ea153db8cc6157cc6a97d33c0dfd858f05bdf46 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/elliemdaw
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci-publish.yml@1ea153db8cc6157cc6a97d33c0dfd858f05bdf46 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gjalla-0.5.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.
File metadata
- Download URL: gjalla-0.5.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
- Upload date:
- Size: 12.0 MB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a0f4a35e0a36988c411363ee33ba68555440ae10ae2065ddd15de2f77e156e54
|
|
| MD5 |
c2fe043b42ad82263d8331c4c34a1f86
|
|
| BLAKE2b-256 |
e241afcd42fa3f50c163ffd96c2a1e2f2ed9cdb0b7cf472ac1f43e7f380e3282
|
Provenance
The following attestation bundles were made for gjalla-0.5.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl:
Publisher:
ci-publish.yml on elliemdaw/gjalla-precommit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gjalla-0.5.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl -
Subject digest:
a0f4a35e0a36988c411363ee33ba68555440ae10ae2065ddd15de2f77e156e54 - Sigstore transparency entry: 1060151195
- Sigstore integration time:
-
Permalink:
elliemdaw/gjalla-precommit@1ea153db8cc6157cc6a97d33c0dfd858f05bdf46 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/elliemdaw
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci-publish.yml@1ea153db8cc6157cc6a97d33c0dfd858f05bdf46 -
Trigger Event:
push
-
Statement type:
File details
Details for the file gjalla-0.5.1-cp311-cp311-macosx_10_9_universal2.whl.
File metadata
- Download URL: gjalla-0.5.1-cp311-cp311-macosx_10_9_universal2.whl
- Upload date:
- Size: 3.7 MB
- Tags: CPython 3.11, macOS 10.9+ universal2 (ARM64, x86-64)
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.7
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bfaea722e7f111e1e5c434d4368d81a16ccbff98ae404462614f3fe715077454
|
|
| MD5 |
8d431881868f7e2344b3ac9448ed6968
|
|
| BLAKE2b-256 |
3a801b4252a4325d746373c5e3de5a75645575d1bd1426c3a26b05597d27452c
|
Provenance
The following attestation bundles were made for gjalla-0.5.1-cp311-cp311-macosx_10_9_universal2.whl:
Publisher:
ci-publish.yml on elliemdaw/gjalla-precommit
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
gjalla-0.5.1-cp311-cp311-macosx_10_9_universal2.whl -
Subject digest:
bfaea722e7f111e1e5c434d4368d81a16ccbff98ae404462614f3fe715077454 - Sigstore transparency entry: 1060151498
- Sigstore integration time:
-
Permalink:
elliemdaw/gjalla-precommit@1ea153db8cc6157cc6a97d33c0dfd858f05bdf46 -
Branch / Tag:
refs/heads/main - Owner: https://github.com/elliemdaw
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
ci-publish.yml@1ea153db8cc6157cc6a97d33c0dfd858f05bdf46 -
Trigger Event:
push
-
Statement type: