AIVane Template Linter
aivane-template-linter is a Python CLI for validating AIVane template JSON files and application bundles before they are sent to the Android REPL runtime.
It checks single templates, recursive template directories, and application directories that contain app.json, __main__.json, and child templates.
Install
uv tool install aivane-template-linter
Or with pipx:
pipx install aivane-template-linter
Run
Lint one template:
aivane-template-lint template.json
Lint an application bundle directory:
aivane-template-lint path/to/my-app -r
Emit machine-readable JSON:
aivane-template-lint path/to/my-app -r --json
Treat warnings as failures:
aivane-template-lint path/to/my-app -r --strict
Use a custom OperationType schema directory:
aivane-template-lint path/to/my-app -r --docs-dir path/to/operation-types
By default, the package uses the OperationType schema snapshot bundled with the installed wheel.
What It Checks
- JSON parse errors
- Required template and operation fields
- Unknown OperationTypes
- Missing, unknown, deprecated, mistyped, or invalid enum parameters
- Variable references that are not declared in the current template scope
breakandcontinueoutside loop context- Nested operation structure
- Application-level relationships when
app.jsonis present template.executetargets and parameter contracts across templates
Application Checks
When a directory contains app.json, the linter also checks the template graph:
app.mainTemplateIdresolves to exactly one template- template IDs and file aliases are not duplicated
- every
template.execute.templateIdtarget exists - required child template input parameters are passed
- extra parameters passed to child templates are reported as warnings
Exit Codes
0: no errors1: one or more errors, or warnings when--strictis used
The same exit-code behavior applies to --json.
Development
From this directory:
python -m pip install -e . pytest
python -m pytest tests
Build a local distribution:
python -m pip install build
python -m build
Related Docs
Metadata
Release files for aivane-template-linter 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| aivane_template_linter-0.1.1.tar.gz | 48.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| aivane_template_linter-0.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 141.5 kB
Release files / aivane_template_linter-0.1.1.tar.gz
| Download URL | aivane_template_linter-0.1.1.tar.gz |
|---|---|
| Size | 48.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
962d4bc190054e98ce6e13a186ddcf9294473df7f3eb0efd85b6161f588ff867
|
|
BLAKE2b-256 checksum How to use checksums |
dfc848de97cdfc16596d2a4a3c06e4be1316812d9ee045c124364473a201094e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 9, 2026.
Transparency logRelease files / aivane_template_linter-0.1.1-py3-none-any.whl
| Download URL | aivane_template_linter-0.1.1-py3-none-any.whl |
|---|---|
| Size | 93.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
7ffec8c46785a862d91d506511db130045d3fe5ac1b86595bb1405f29e34c1bb
|
|
BLAKE2b-256 checksum How to use checksums |
a767190a3c323af4da1d156350964d80d1e5b19d972cb277c726f7b00d5b991d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 9, 2026.
Transparency log