Skip to content
Talk to our solutions team

Core

Encryption, search, query, functional testing and scheduling. Captured from kis --help, so this matches the binary rather than describing it.

Provides encryption facility of files using AES-256-CBC

kis encrypt [flags]
FlagPurpose
-i, --in stringInput file path
-o, --out stringOutput file path
-k, --pass stringPassphrase to use

Provides decryption facility of files encrypted with AES-256-CBC

kis decrypt [flags]
FlagPurpose
-i, --in stringInput file path
-o, --out stringOutput file path
-k, --pass stringPassphrase to use

Find searches JSON files in a directory for those matching an expression.

Uses expr language (https://expr-lang.org/) for powerful querying.

Examples:

kis.ai find -i ./input “confidence > 0.95” kis.ai find -i ./input “document_type = ‘1003’” kis.ai find -i ./input “status != ‘failed‘“

kis.ai find -r -i ./input “status = ‘failed‘“

kis.ai find -i ./input “status == ‘done’ and confidence > 0.9” kis.ai find -i ./input “doc_type == ‘W2’ or doc_type == ‘1099‘“

kis.ai find -i ./input “metadata.pages > 10”

kis.ai find -i ./input “error_message contains ‘timeout’” kis.ai find -i ./input “status in [‘pending’, ‘processing’]“

kis.ai find -i ./input “errors != nil”

kis.ai find -i ./input “len(pages) > 5” kis.ai find -i ./input “any(pages, {.confidence > 0.9})“

kis find [flags] "<expression>"
FlagPurpose
-c, --countOnly output count of matching files
-i, --input stringDirectory to search (default ”.”)
-m, --metaInject _filename and _path variables into expression context
-p, --pattern stringFile pattern to match (default “*.json”)
-q, --quietOnly output filenames
-r, --recursiveSearch directories recursively
-v, --show-valueShow the full JSON on match

Run predefined or custom jq queries against JSON classification results.

Examples:

kis.ai query —list

Run summary query on all files in quality/

Section titled “Run summary query on all files in quality/”

kis.ai query summary -i ./quality

kis.ai query totals -i ./quality -o totals.json

kis.ai query by-doctype -i ./quality -o breakdown.csv

kis.ai query -i ./quality —raw ’[.[] | .total_pages] | add’

Include source filename metadata (_filename, _filestem, _path, _abspath)

Section titled “Include source filename metadata (_filename, _filestem, _path, _abspath)”

kis.ai query -i ./quality —meta —raw ’[.[] | {actual: ._filestem, inferred: .results[0].hierarchical.doc_type}]‘

kis.ai query my-query -i ./quality —queries ./my-queries.yaml

kis query [query-name] [flags]
FlagPurpose
-f, --format stringOverride output format (json, csv, table, raw, tsv)
-i, --input stringJSON file or directory containing JSON files (default ”.”)
-m, --metaInject _filename and _doctype from source filename
-o, --output stringOutput file (default: stdout)
-r, --raw stringRun a raw jq query directly

Run tests against HTTP services.

By default, no files are written: results stream to the console and the process exits 0 (all passed) or 1 (any failure). Provide —db to also persist results to a DuckDB file for later querying.

When —env is omitted, atc auto-discovers an env file next to —tests: env.local.yaml → env.yaml → env..yaml (when —name is set). This matches the convention that test data + test files live together.

Multi-environment env files supported: top-level keys are environment names, each holding a map of variables. Select with —name. A flat top-level map (no env grouping) is also accepted.

Examples: atc test -t tests/data-api.yaml atc test -t tests/ (loads every *.yaml in dir; auto-discovers env) atc test -t tests/ -e env.staging.yaml (explicit env file) atc test -t tests/ -e env.yaml -n staging (multi-env file; pick “staging”) atc test -t tests/ —tags smoke atc test -t tests/ -v url=http://localhost:8080 -v password=secret atc test -t tests/ —db .atc/results.db —junit .atc/junit.xml atc test -t tests/ —use-guppi (route through guppi engine)

kis test [flags]
FlagPurpose
-e, --env stringenvironment YAML/JSON file (auto-discovered alongside —tests if omitted)
-n, --name stringenvironment name within a multi-env env file (e.g. “staging”, “production”)
-t, --tests stringpath to a test YAML file or directory (required)
-v, --vars stringsinline variables, key=value. Highest precedence.

Manage scheduled jobs using human-friendly schedules.

Jobs are stored in ~/.kisai/cron/jobs/ and installed to your platform’s scheduler (crontab on Linux, launchd on macOS, Task Scheduler on Windows).

Examples: kis.ai cron add backup daily at 2am — kis.ai backup run kis.ai cron add cleanup every 15 minutes — kis.ai jobs run cleanup kis.ai cron list kis.ai cron remove backup

kis cron [command]
SubcommandPurpose
addAdd a scheduled job
historyShow execution history
initInitialize cron and validate setup
listList scheduled jobs
logsView job logs
onceRun a command once at a specific time
removeRemove a scheduled job
runRun a job manually
showShow job details
syncSync jobs between YAML and OS scheduler

Add a new scheduled job.

Schedule formats: every N minute(s) Run every N minutes every N hour(s) Run every N hours hourly Run every hour at :00 hourly at :30 Run every hour at :30 daily Run daily at midnight daily at 2am Run daily at 2am weekly on monday Run weekly on Monday weekly on monday at 9am Run weekly on Monday at 9am weekly on mon,thu at 3am Run on Monday and Thursday at 3am monthly on 1st Run on 1st of each month monthly on 15th at 3am Run on 15th at 3am

Time formats: 2am, 2:30pm, 14:00, noon, midnight Day formats: monday, mon, tue, …, weekday, weekend (comma-separated for multiple)

Environment: Jobs run through a login shell (-l) which sources your profile (.bashrc, .zshrc, etc). By default, PATH, HOME, USER, SHELL are also captured at add time for reliability.

—capture-env common Capture PATH, HOME, USER, SHELL (default) —capture-env all Capture all environment variables —capture-env PATH,GOPATH Capture specific variables —capture-env none Capture nothing (rely on login shell only) —env KEY=VALUE Set explicit value (overrides captured)

Examples: kis.ai cron add backup daily at 2am — kis.ai backup run kis.ai cron add cleanup every 15 minutes — kis.ai jobs run cleanup kis.ai cron add build daily at 3am — go build ./… kis.ai cron add sync weekly on mon,wed,fri at 6am — ./sync.sh kis.ai cron add deploy hourly —capture-env all — ./deploy.sh kis.ai cron add job1 daily at 2am —capture-env common,GOPATH — ./run.sh kis.ai cron add minimal daily —capture-env none — ./simple.sh

kis cron add <n> <schedule> -- <command...> [flags]

Show execution history

kis cron history [name] [flags]

Initialize cron directories and validate the platform scheduler.

This command is optional - directories are created automatically on first job add. Use this to validate your setup or troubleshoot issues.

kis cron init [flags]

List scheduled jobs

kis cron list [flags]

View job logs

kis cron logs <n> [flags]
FlagPurpose
-n, --lines intNumber of lines (default 50)

Schedule a command to run once and then automatically remove itself.

Time formats: now Run immediately (no scheduling) in N minutes Run N minutes from now in N hours Run N hours from now today at 2pm Run today at 2pm today at 14:00 Run today at 14:00 tomorrow at 9am Run tomorrow at 9am tomorrow at noon Run tomorrow at noon

Environment: —capture-env common Capture PATH, HOME, USER, SHELL (default) —capture-env all Capture all environment variables —capture-env PATH,GOPATH Capture specific variables —capture-env none Capture nothing (rely on login shell only)

Examples: kis.ai cron once now — kis.ai backup run kis.ai cron once in 5 minutes — kis.ai backup run kis.ai cron once in 2 hours — ./deploy.sh kis.ai cron once today at 11pm — ./nightly.sh kis.ai cron once tomorrow at 9am — ./morning.sh kis.ai cron once in 30 minutes —name my-deploy — ./deploy.sh

kis cron once <when> -- <command...> [flags]

Remove a scheduled job

kis cron remove <n> [flags]

Run a job manually with output to terminal.

kis cron run <n> [flags]

Show job details

kis cron show <n> [flags]

Sync jobs between YAML configuration and the OS scheduler.

By default, YAML is the source of truth. With —from-os, the OS scheduler is the source of truth.

kis cron sync [flags]

Display version of the CLI binary and all installed plugins

kis version [flags]