{"id":50757567,"url":"https://github.com/zurb/helio-cli","last_synced_at":"2026-06-11T06:32:07.009Z","repository":{"id":358127832,"uuid":"1236248242","full_name":"zurb/helio-cli","owner":"zurb","description":null,"archived":false,"fork":false,"pushed_at":"2026-05-17T16:34:06.000Z","size":88,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-05T13:41:47.389Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/zurb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-05-12T04:41:24.000Z","updated_at":"2026-05-17T16:34:11.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/zurb/helio-cli","commit_stats":null,"previous_names":["zurb/helio-cli"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/zurb/helio-cli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zurb%2Fhelio-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zurb%2Fhelio-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zurb%2Fhelio-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zurb%2Fhelio-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/zurb","download_url":"https://codeload.github.com/zurb/helio-cli/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/zurb%2Fhelio-cli/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34186385,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-11T02:00:06.485Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2026-06-11T06:32:06.289Z","updated_at":"2026-06-11T06:32:07.003Z","avatar_url":"https://github.com/zurb.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# helio-cli\n\nCommand-line interface for the [Helio](https://helio.app) Public API. Create tests, pull reports, manage participants, and automate workflows from the terminal.\n\n## Installation\n\n```bash\n# Run without installing\nnpx @zurb/helio-cli --help\n\n# Or install globally\nnpm install -g @zurb/helio-cli\n```\n\nRequires Node.js \u003e= 22.\n\n## Authentication\n\nGet your API ID and Token from [my.helio.app/account/organization](https://my.helio.app/account/organization) (scroll to the API section).\n\n```bash\n# Interactive login\nhelio-cli auth login\n\n# Or set credentials directly\nhelio-cli config set api-id YOUR_API_ID\nhelio-cli config set api-token YOUR_API_TOKEN\n\n# Or use environment variables\nexport HELIO_API_ID=your_id\nexport HELIO_API_TOKEN=your_token\n\n# Verify everything works\nhelio-cli doctor\n```\n\nCredential precedence (first wins):\n\n1. CLI flags (`--api-id`, `--api-token`)\n2. Environment variables (`HELIO_API_ID`, `HELIO_API_TOKEN`)\n3. Config file (`~/.helio-cli/config.json`)\n\n## Commands\n\n### Browsing\n\n```bash\n# Projects\nhelio-cli projects list\nhelio-cli projects list --name \"UX Research\"\nhelio-cli projects get \u003cproject-uuid\u003e\nhelio-cli projects tests \u003cproject-uuid\u003e\n\n# Tests\nhelio-cli tests list\nhelio-cli tests list --status running\nhelio-cli tests list --status running complete --tags ux\nhelio-cli tests get \u003ctest-uuid\u003e\n```\n\n### Creating Tests\n\n```bash\n# Create a test (saved as draft)\nhelio-cli tests create \\\n    --project-id \u003cuuid\u003e \\\n    --name \"My Survey\" \\\n    --intro \"Help us improve our product\" \\\n    --target-audience-size 50 \\\n    --questions '[\n      {\"type\": \"MultipleChoice\", \"instructions\": \"How easy was signup?\",\n       \"choices\": [\"Very easy\", \"Easy\", \"Neutral\", \"Difficult\"]},\n      {\"type\": \"FreeResponse\", \"instructions\": \"What would you improve?\"},\n      {\"type\": \"NPS\", \"instructions\": \"How likely are you to recommend us?\"}\n    ]'\n\n# Validate without creating\nhelio-cli tests create --dry-run \\\n    --project-id \u003cuuid\u003e --name \"Test\" --intro \"Hi\" \\\n    --target-audience-size 50 --questions '[...]'\n\n# Add questions one at a time\nhelio-cli tests add-question \u003ctest-uuid\u003e \\\n    --type multiple_choice \\\n    --instructions \"How did you pay?\" \\\n    --choices \"Credit card\" \"PayPal\" \"Apple Pay\"\n\nhelio-cli tests add-question \u003ctest-uuid\u003e \\\n    --type likert --instructions \"Checkout was easy.\" \\\n    --scale-type agreement\n\nhelio-cli tests add-question \u003ctest-uuid\u003e \\\n    --type nps --instructions \"Would you recommend us?\"\n\n# Preview and launch\nhelio-cli tests preview \u003ctest-uuid\u003e\nhelio-cli tests send \u003ctest-uuid\u003e\n\n# Walk through the test the way a participant sees it\nhelio-cli tests walkthrough \u003ctest-uuid\u003e                 # one screen per page, all at once\nhelio-cli tests walkthrough \u003ctest-uuid\u003e --interactive   # advance one screen at a time (TTY required)\nhelio-cli tests walkthrough \u003ctest-uuid\u003e --output json   # structured screen list\n```\n\n`preview` is a structural summary (every question on one page). `walkthrough` renders each participant screen separately — intro, then each question with its own input UI (radio buttons, text box, NPS row, etc.) — so you can comprehend the experience step by step. Asset-heavy types (prototypes, click tests, tree tests) render a placeholder pointing to the Helio browser preview.\n\n### Question Types\n\n`free_response`, `multiple_choice`, `likert`, `nps`, `ranking`, `preference`, `matrix`, `card_sort`, `point_allocation`, `max_diff`\n\nPascalCase variants also accepted (e.g., `FreeResponse`, `MultipleChoice`).\n\nLikert scales: `agreement`, `occurrence`, `importance`, `quality`, `comprehension`, `impression`, `expectations`, `usefulness`, `difficulty`, `likelihood`, `custom`\n\n### UX Metrics\n\nAuto-generate standardized measurement questions:\n\n```bash\n# Add metrics during test creation\nhelio-cli tests create \\\n    --project-id \u003cuuid\u003e \\\n    --name \"UX Study\" \\\n    --intro \"Help us evaluate the experience\" \\\n    --target-audience-size 50 \\\n    --questions '[{\"type\": \"free_response\", \"instructions\": \"What did you think?\"}]' \\\n    --ux-metrics sentiment loyalty\n\n# Customize metric wording\nhelio-cli tests create ... \\\n    --ux-metrics sentiment loyalty \\\n    --ux-metric-context \"the Helio dashboard\"\n\n# Metrics-only test (no custom questions)\nhelio-cli tests create \\\n    --project-id \u003cuuid\u003e \\\n    --name \"Quick Pulse\" \\\n    --intro \"Quick feedback\" \\\n    --target-audience-size 50 \\\n    --ux-metrics sentiment appeal usefulness\n\n# Add/remove metrics on existing drafts\nhelio-cli tests add-ux-metrics \u003ctest-uuid\u003e --metrics comprehension loyalty\nhelio-cli tests remove-ux-metrics \u003ctest-uuid\u003e --metrics comprehension\n\n# View available metric types\nhelio-cli tests ux-metric-types\n```\n\nAvailable types: `sentiment`, `feeling`, `appeal`, `reaction`, `comprehension`, `frequency`, `loyalty`, `intent`, `desirability`, `usefulness`, `expectations`\n\n### Reports\n\n```bash\n# Summary results\nhelio-cli tests report \u003ctest-uuid\u003e\n\n# Full report\nhelio-cli tests report \u003ctest-uuid\u003e \\\n    --include questions_summary,questions_responses,demographics,ux_metrics\n\n# Filter by demographics\nhelio-cli tests report \u003ctest-uuid\u003e \\\n    --gender Female --age 25-34 35-44\n\n# Paginate responses\nhelio-cli tests report \u003ctest-uuid\u003e \\\n    --include questions_responses --limit 50 --offset 100\n\n# Raw response data\nhelio-cli tests responses \u003ctest-uuid\u003e\n```\n\n**`--include` values:** `questions_summary`, `questions_followups`, `questions_responses`, `audiences_summary`, `demographics`, `ux_metrics`, `prototype_journeys`, `filter_options`\n\n### Participants \u0026 Custom Lists\n\n```bash\n# Custom lists\nhelio-cli custom-lists list\nhelio-cli custom-lists participants \u003clist-uuid\u003e\n\n# Add participants\nhelio-cli participants create \\\n    --email user@example.com \\\n    --customer-list-id \u003clist-uuid\u003e \\\n    --full-name \"Jane Doe\"\n\n# Bulk add\nhelio-cli custom-lists add-participants \u003clist-uuid\u003e \\\n    --data '[{\"email\": \"a@b.com\", \"full_name\": \"A B\"},\n             {\"email\": \"c@d.com\", \"full_name\": \"C D\"}]'\n```\n\n### Question \u0026 Section Management\n\n```bash\n# Edit a question on a draft\nhelio-cli tests edit-question \u003ctest-uuid\u003e \u003csection-uuid\u003e \\\n    --type free_response --instructions \"Updated question\"\n\n# Remove a question\nhelio-cli tests remove-question \u003ctest-uuid\u003e \u003csection-uuid\u003e\n\n# View and reorder questions\nhelio-cli tests order \u003ctest-uuid\u003e\nhelio-cli tests reorder \u003ctest-uuid\u003e \\\n    --order \"metric:sentiment\" \"section:\u003cq1-uuid\u003e\" \"section:\u003cq2-uuid\u003e\"\n```\n\n## Command Aliases\n\n| Alias | Command |\n|-------|---------|\n| `t` | `tests` |\n| `p` | `projects` |\n| `cl` | `custom-lists` |\n| `pt` | `participants` |\n| `a` | `audiences` |\n| `ic` | `intercepts` |\n| `r` | `responses` |\n\n```bash\nhelio-cli t list --status running\nhelio-cli p tests \u003cproject-uuid\u003e\nhelio-cli cl participants \u003clist-uuid\u003e\n```\n\n## JSON Output\n\nAdd `--output json` to any command for machine-readable output:\n\n```bash\nhelio-cli tests list --output json\nhelio-cli tests report \u003cid\u003e --output json | jq '.questions_summary'\n```\n\nErrors also return structured JSON: `{ \"error\": \"message\", \"code\": 401 }`\n\n## Global Options\n\n| Option | Description |\n|--------|-------------|\n| `--output \u003cformat\u003e` | `json` or `text` (default: `text`) |\n| `--api-id \u003cid\u003e` | API ID (overrides config/env) |\n| `--api-token \u003ctoken\u003e` | API token (overrides config/env) |\n| `--base-url \u003curl\u003e` | Base URL (default: `https://my.helio.app`) |\n\n## Troubleshooting\n\n```bash\n# Run diagnostics\nhelio-cli doctor\n\n# Check auth status\nhelio-cli auth status\n\n# Use staging or local dev\nhelio-cli --base-url http://localhost:3000 status\nHELIO_BASE_URL=https://staging.helio.app helio-cli status\n```\n\n## Built-in Guide\n\nRun `helio-cli guide` for a complete getting-started guide, or `helio-cli guide --output json` for a machine-readable version with full command schemas.\n\n## Requirements\n\n- Node.js \u003e= 22\n- [@helio-app/sdk](https://www.npmjs.com/package/@helio-app/sdk) (installed automatically)\n\n## License\n\nPrivate\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzurb%2Fhelio-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fzurb%2Fhelio-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fzurb%2Fhelio-cli/lists"}