{"id":25085540,"url":"https://github.com/essinn/zolo","last_synced_at":"2026-04-13T01:32:50.278Z","repository":{"id":275652606,"uuid":"926236312","full_name":"essinn/zolo","owner":"essinn","description":"Zolo npm package","archived":false,"fork":false,"pushed_at":"2025-02-03T20:14:09.000Z","size":52,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-10T18:06:00.205Z","etag":null,"topics":["cli","json","task-runner","yaml","zolo"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/essinn.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}},"created_at":"2025-02-02T21:27:16.000Z","updated_at":"2025-02-03T20:14:12.000Z","dependencies_parsed_at":"2025-02-03T21:23:45.957Z","dependency_job_id":"c53ec731-f9a0-4998-89d2-1604e22f3181","html_url":"https://github.com/essinn/zolo","commit_stats":null,"previous_names":["essinn/zolo"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/essinn/zolo","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/essinn%2Fzolo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/essinn%2Fzolo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/essinn%2Fzolo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/essinn%2Fzolo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/essinn","download_url":"https://codeload.github.com/essinn/zolo/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/essinn%2Fzolo/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31736723,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-12T22:19:12.206Z","status":"ssl_error","status_checked_at":"2026-04-12T22:18:33.088Z","response_time":58,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["cli","json","task-runner","yaml","zolo"],"created_at":"2025-02-07T08:20:16.115Z","updated_at":"2026-04-13T01:32:50.238Z","avatar_url":"https://github.com/essinn.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1\u003eZolo\u003c/h1\u003e\n\nZolo is a Simple CLI tool to run tasks defined in YAML or JSON configs.\n\n\u003ch4\u003eWhat it does:\u003c/h4\u003e\n\nIt defines and runs complex task workflows (e.g., build, test, deploy) with dependencies, retries, and parallel execution.\n\n\u003ch4\u003eWhy it’s useful:\u003c/h4\u003e\n\nDevelopers often write custom scripts for task automation, but managing dependencies and retries can be messy. This package would provide a clean, declarative way to define and run tasks.\n\n## Table of Contents\n\n1. [Installation](#step-1-installation)\n2. [Create a Task Configuration File](#step-2-create-a-task-configuration-file)\n3. [Run the CLI Tool](#step-3-run-the-cli-tool)\n4. [Expected Output](#step-4-output)\n5. [Advanced Use Cases](#step-5-advanced-use-cases)\n6. [Key Features](#key-features)\n\n## Step 1: Installation\n\n```bash\nnpm i zolo\n```\n\n## Step 2: Create a Task Configuration File\n\nExample `tasks.yaml`:\n\n```yaml\ntasks:\n  build:\n    command: \"npm run build\"\n    retries: 2 # Retry up to 2 times if the task fails\n  test:\n    command: \"npm test\"\n    dependsOn: [\"build\"] # Run \"build\" task before \"test\"\n  deploy:\n    command: \"npm run deploy\"\n    dependsOn: [\"test\"] # Run \"test\" task before \"deploy\"\n```\n\nor\n\nExample `tasks.json`:\n\n```json\n{\n  \"tasks\": {\n    \"build\": {\n      \"command\": \"npm run build\",\n      \"retries\": 2\n    },\n    \"test\": {\n      \"command\": \"npm test\",\n      \"dependsOn\": [\"build\"]\n    },\n    \"deploy\": {\n      \"command\": \"npm run deploy\",\n      \"dependsOn\": [\"test\"]\n    }\n  }\n}\n```\n\n## Step 3: Run the CLI Tool\n\n```bash\nzolo --config tasks.yaml\n\n#or\n\nzolo --config tasks.json\n```\n\n## Step 4: Output\n\nWhen the user runs the CLI tool, they’ll see output like this:\n\n```bash\n✔ Running task: npm run build\n✔ Running task: npm test\n✔ Running task: npm run deploy\n```\n\nIf a task fails and retries are configured, they’ll see something like this:\n\n```bash\n✖ Running task: npm run build\n⚠ Task failed: npm run build\nℹ Retrying in 1 seconds...\n✔ Running task: npm run build (retry 1)\n✔ Running task: npm test\n✔ Running task: npm run deploy\n```\n\n## Step 5: Advanced Use Cases\n\n- Parallel Execution:\n\nIf the user wants to run tasks in parallel, they can modify the `tasks.yaml` file:\n\n```yaml\ntasks:\n  lint:\n    command: \"npm run lint\"\n  build:\n    command: \"npm run build\"\n  test:\n    command: \"npm test\"\n    dependsOn: [\"lint\", \"build\"] # Run \"lint\" and \"build\" in parallel\n```\n\n- Environment Variables:\n\nThe user can use environment variables in their commands:\n\n```yaml\ntasks:\n  deploy:\n    command: \"npm run deploy --env=${DEPLOY_ENV}\"\n```\n\n## Key Features\n\n- Define tasks in a YAML or JSON config.\n- Support for parallel and sequential execution.\n- Retry failed tasks with exponential backoff.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fessinn%2Fzolo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fessinn%2Fzolo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fessinn%2Fzolo/lists"}