Skip to main content

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
  • break and continue outside loop context
  • Nested operation structure
  • Application-level relationships when app.json is present
  • template.execute targets and parameter contracts across templates

Application Checks

When a directory contains app.json, the linter also checks the template graph:

  • app.mainTemplateId resolves to exactly one template
  • template IDs and file aliases are not duplicated
  • every template.execute.templateId target exists
  • required child template input parameters are passed
  • extra parameters passed to child templates are reported as warnings

Exit Codes

  • 0: no errors
  • 1: one or more errors, or warnings when --strict is 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)

Source distribution for aivane-template-linter 0.1.1
File Size Uploaded
aivane_template_linter-0.1.1.tar.gz 48.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for aivane-template-linter 0.1.1
File Interpreter ABI Platform
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 log

Release 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

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files

0.1.0

2 release 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