@tinyideas/conti-cli
v0.2.0
Published
CLI for Continuous Suite - manage test plans, docs, help articles, security reviews, and more
Downloads
10
Maintainers
Readme
@tinyideas/conti-cli
CLI tool for Continuous Suite - test plans, docs, help, security reviews, and AI agents
Installation
npm install -g @tinyideas/conti-cliOr use with npx (no installation required):
npx @tinyideas/conti-cli scan
npx @tinyideas/conti-cli pushUsage
1. Initialize your project (optional)
conti initThis creates a .conti/config.json file with default settings.
2. Scan your project for test plan files
conti scanThis will:
- Find all
.test-plan.mdfiles in your project - Validate IDs and detect duplicates
- Generate a snapshot in
.conti/data.json
3. Preview what would be pushed
conti scan --preview4. Push the snapshot to the cloud
conti scan --pushThis uploads your test plan snapshot to the Conti platform.
5. View on the dashboard
Visit the dashboard to see your test plan snapshots!
Configuration
Project Config (.conti/config.json)
{
"organization": "acme-corp",
"repository": "acme/qa-tests",
"products": {
"test": {
"enabled": true,
"sourceBranch": "main",
"paths": ["**/*.test-plan.md"]
}
},
"settings": {
"requireExplicitId": false,
"warnOnStale": true,
"staleThreshold": 3
}
}Remote Config
The CLI can fetch configuration from a remote JSON file. This allows the CLI to stay up-to-date without requiring new releases.
Remote Config (Default): The CLI fetches
https://conti.tinyideas.dev/cli-config.jsonPriority Order: The CLI resolves the Convex URL in this order:
--urlflag (explicit override).env.localfile (VITE_CONVEX_URLorCONVEX_URL)process.env(VITE_CONVEX_URLorCONVEX_URL)- Remote config (fetched from server)
Caching: Config is cached for 5 minutes to reduce network requests.
Override for Local Testing
To test with a local config server:
export CONTI_CONFIG_URL=http://localhost:3000/cli-config.json
export CONTI_ALLOW_UNPINNED_CONFIG=1
export CONTI_ALLOW_INSECURE_HTTP=1
conti scan --verboseSee cli/LOCAL_TESTING.md for detailed local testing instructions.
Security notes
- Remote config is fetched over HTTPS from the pinned host only when pushing data. To use a different host, set
CONTI_ALLOW_UNPINNED_CONFIG=1andCONTI_CONFIG_URL=https://your-host/cli-config.jsonand ensure you trust it. - Authentication tokens are stored at
~/.conti/auth.jsonwith restrictive permissions (0700 dir / 0600 file). On shared machines, prefer OS keychain storage or rotate tokens frequently. - Provide Convex URLs over HTTPS; set
--urlorCONVEX_URL/VITE_CONVEX_URL. HTTP is blocked unless you opt intoCONTI_ALLOW_INSECURE_HTTP=1for local testing.
Commands
init
conti init [options]
Options:
-d, --dir <directory> Directory to initialize (default: ".")scan
conti scan [options]
Options:
-d, --dir <directory> Directory to scan (default: ".")
--push Automatically push after scanning
--preview Show what would be pushed without pushing
--ci CI mode: non-interactive, fails on warnings
--force Force push even from non-source branch
-u, --url <url> Convex deployment URL (used with --push)
--repo <repo> Repository identifier (overrides auto-detection)
--branch <branch> Branch name (overrides auto-detection)
--verbose Show detailed parsing information
--strict Fail on validation warningspush
conti push [options]
Options:
-u, --url <url> Convex deployment URL (overrides .env.local)Product-Specific Commands
conti docs scan # Scan documentation files
conti help-docs scan # Scan help center articles
conti secure scan # Scan security reviews
conti agent push # Push agent knowledge baseExample Workflows
Basic Workflow
# In your project directory
conti scan
conti push
# Or scan and push in one command
conti scan --pushCI/CD Workflow
# In GitHub Actions or similar
conti scan --push --ciPreview Before Pushing
# See what would be pushed
conti scan --preview
# Then push if it looks good
conti scan --pushLicense
MIT
