Skip to main content
Version: 0.1

prokodo verify

Upload project files and trigger a cloud verification run, or verify a published npm package by name. Works out of the box β€” no config file required.

prokodo verify [file] [options]

Prerequisites

Only an authenticated API key is required (auth login). A .prokodo/config.json is optional β€” the CLI detects your project type automatically.

Options

FlagTypeDefaultDescription
[file]stringβ€”Published npm package name (@scope/name or @scope/name@1.2.3). File paths not yet supported.
--type <type>stringauto-detectedOverride project type. Required when passing an npm package name.
--ref <ref>stringβ€”Git ref, branch, or commit SHA to tag the run
--timeout <seconds>number300Override the verification timeout
--no-logsbooleanfalseDisable remote log streaming

Project types

TypeWhen auto-detectedDefault files uploaded
n8n-nodepackage.json depends on n8n, n8n-core, etc.src/, package.json, tsconfig.json
n8n-workflowNot yet supported β€” coming in a future releaseβ€”

What happens when you run verify

Local project mode (default β€” no positional argument):

1. Resolve run context:
a. CLI --type flag
b. .prokodo/config.json (optional)
c. package.json auto-detection
d. Default to n8n-node
2. Detect git remote URL (non-fatal)
3. Validate --timeout (must be a positive finite number)
4. Collect files (include list)
5. Resolve API key (flag β†’ env var β†’ credentials file)
6. POST /api/cli/v1/verify/runs { projectType, packageName, files }
7. Poll status + stream live logs (unless --no-logs)
8. Fetch final result
9. Print summary / emit JSON
10. Exit 0 (pass) or 1 (fail/timeout)

npm package mode (prokodo verify @scope/name --type n8n-node):

1. Detect positional argument as npm package ref
2. Validate --type (required in this mode)
3. Validate --timeout
4. Resolve API key
5. POST /api/cli/v1/verify/runs { projectType, packageRef } (no file upload)
6. Server fetches the package from the npm registry
7. Poll status + stream live logs (unless --no-logs)
8. Fetch final result
9. Print summary / emit JSON
10. Exit 0 (pass) or 1 (fail/timeout)

Examples

# Auto-detect project type and verify local project
prokodo verify

# Explicitly set project type
prokodo verify --type n8n-node

# Verify a published npm package
prokodo verify @scope/my-n8n-node --type n8n-node
prokodo verify @scope/my-n8n-node@1.2.3 --type n8n-node
β„Ή Starting verification run…
Run ID: run_abc123
Files: 24
[12:00:01] Structure check running…
[12:00:03] Resolving dependencies…
[12:00:08] Checks complete.

βœ“ Verification passed: All checks passed
Credits used: 1
# Tag the run with the current git branch
prokodo verify --ref $(git rev-parse --abbrev-ref HEAD)

# Verify a specific published version of a package
prokodo verify @scope/my-n8n-node@2.1.0 --type n8n-node

# Increase timeout for large projects
prokodo verify --timeout 600

# Silence log streaming (useful in CI where logs are noisy)
prokodo verify --no-logs

# Machine-readable output β€” combine with jq
prokodo verify --json 2>/dev/null | jq .passed
prokodo verify --json 2>/dev/null | jq '[.checks[] | select(.passed == false)]'

JSON output schema

FieldTypeDescription
runIdstringUnique run identifier
passedbooleantrue if all checks passed
summarystringHuman-readable summary
checks{ name, passed, message? }[]Individual check results
creditsUsednumberCredits consumed by this run
status"success" | "failed" | "timeout" | "rejected"Final run status
{
"runId": "run_abc123",
"passed": true,
"summary": "All checks passed",
"checks": [
{ "name": "Structure", "passed": true, "message": "24 files validated" },
{ "name": "Dependencies", "passed": true }
],
"creditsUsed": 1,
"status": "success"
}

Rejection codes

When the cloud runner rejects a run, the error message includes a reason code:

CodeMeaning
INSUFFICIENT_CREDITSAccount balance too low
CONCURRENCY_CAP_REACHEDMaximum concurrent runs reached
INVALID_PAYLOADUploaded archive could not be processed
RUNNER_ERRORInternal cloud error
TIMEOUTRun exceeded time limit
NOT_IMPLEMENTEDFeature not yet enabled

Log streaming

By default, verify streams log lines from the cloud run in real-time to stderr. Use --no-logs to suppress them, or redirect stderr:

# Keep logs visible but capture JSON result
prokodo verify --json 2>&1 1>/tmp/result.json

Exit codes

CodeCause
0Verification passed
1Verification failed
1Timed out waiting for the run to complete
2Invalid --type value
2--type missing for npm package mode
2Invalid --timeout value
2No files found to upload
2No API key configured

Controlling included files

By default the CLI uses the include list for the detected project type:

Project typeDefault include
n8n-nodesrc/, package.json, tsconfig.json
n8n-workflowNot yet supported β€” coming in a future release

You can override include in .prokodo/config.json:

{
"projectType": "n8n-node",
"include": ["src", "package.json", "tsconfig.json", "assets"],
"timeout": 300
}
tip

Keep include focused on source files β€” omit node_modules, dist, and test fixtures to keep runs fast and credit-efficient.