{"id":19615408,"url":"https://github.com/droath/robo-command-builder","last_synced_at":"2025-07-30T20:04:24.741Z","repository":{"id":55003341,"uuid":"211710164","full_name":"droath/robo-command-builder","owner":"droath","description":"Build Robo task commands from a single definition file.","archived":false,"fork":false,"pushed_at":"2023-08-11T17:02:21.000Z","size":8,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-04T20:18:06.189Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"PHP","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/droath.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":"2019-09-29T18:49:42.000Z","updated_at":"2023-08-11T16:51:33.000Z","dependencies_parsed_at":"2025-01-09T10:36:05.651Z","dependency_job_id":"933748c1-66f0-41ee-a9dd-4900d1b3cd51","html_url":"https://github.com/droath/robo-command-builder","commit_stats":{"total_commits":4,"total_committers":2,"mean_commits":2.0,"dds":0.25,"last_synced_commit":"179d6dfb740575c6ca69023b59785e3fa41a1bf6"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/droath/robo-command-builder","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/droath%2Frobo-command-builder","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/droath%2Frobo-command-builder/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/droath%2Frobo-command-builder/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/droath%2Frobo-command-builder/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/droath","download_url":"https://codeload.github.com/droath/robo-command-builder/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/droath%2Frobo-command-builder/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":267930588,"owners_count":24167472,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-30T02:00:09.044Z","response_time":70,"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":"2024-11-11T10:56:41.516Z","updated_at":"2025-07-30T20:04:24.676Z","avatar_url":"https://github.com/droath.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"The robo command builder is a utility that allows commands to be defined in a definition file. Once the commands have been defined they'll be able to be called via a PHP method.\n\nThe command definition allows for the following directives:\n \n  * binary - string (required)\n  * commands - array (required)\n  \nEach command action will be able to define their arguments and/or options. The `arguments` definition is a single key array. \n\ncommand.yml\n\n```yaml\n...\ncommands:\n  upload :\n    arguments:\n      - file\n```\nWhich you would be able to use within a Robo task class.\n```php\n\u003c?php\n\n$pathToConfig = __DIR__ . '/command.yml';\n\n$task $this-\u003etask(\n    CommandBuilder::class, 'upload', $pathToConfig, null\n);\n\n$task-\u003efile(/path/to/file)-\u003erun();\n````\n\nThe `options` definition can be either a single key array, which defaults to a boolean type. If you need to define more options then you'll need to use an array of objects. The following parameters exist in the option object:\n\n* name - The option name (required)\n* type - The option type (optional - defaults to boolean)\n* default - The option default value (optional)\n\n**Option Types:**\n   * array \n   * string\n   * integer\n   * boolean\n\n```yaml\nbinary: ddev\ncommands:\n    import-db:\n        options:\n            - { \"name\": \"progress\" }\n            - { \"name\": \"extract-path\" }\n            - { \"name\": \"src\", \"type\": \"string\" }\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdroath%2Frobo-command-builder","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdroath%2Frobo-command-builder","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdroath%2Frobo-command-builder/lists"}