{"id":34638729,"url":"https://github.com/generoi/robo-genero","last_synced_at":"2026-05-25T08:36:36.621Z","repository":{"id":49857868,"uuid":"132042011","full_name":"generoi/robo-genero","owner":"generoi","description":"Genero tasks for Robo Task Runner","archived":false,"fork":false,"pushed_at":"2026-02-09T13:09:22.000Z","size":99,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2026-02-09T18:21:13.168Z","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/generoi.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":"2018-05-03T19:43:56.000Z","updated_at":"2026-02-09T13:08:54.000Z","dependencies_parsed_at":"2024-05-06T15:54:46.090Z","dependency_job_id":"69881242-ed18-4970-8531-4b742ee57ff9","html_url":"https://github.com/generoi/robo-genero","commit_stats":null,"previous_names":[],"tags_count":24,"template":false,"template_full_name":null,"purl":"pkg:github/generoi/robo-genero","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/generoi%2Frobo-genero","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/generoi%2Frobo-genero/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/generoi%2Frobo-genero/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/generoi%2Frobo-genero/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/generoi","download_url":"https://codeload.github.com/generoi/robo-genero/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/generoi%2Frobo-genero/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33467428,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-25T06:32:55.349Z","status":"ssl_error","status_checked_at":"2026-05-25T06:32:35.322Z","response_time":57,"last_error":"SSL_read: 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":[],"created_at":"2025-12-24T17:12:57.532Z","updated_at":"2026-05-25T08:36:36.596Z","avatar_url":"https://github.com/generoi.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# robo-genero\n\nGenero tasks for Robo Task Runner\n\n### Installation\n\nRequire `robo` and this package to your project.\n\n    composer require consolidation/robo generoi/robo-genero\n\n#### Composer scripts\n\nAdd the following `scripts` section to your `composer.json`\n\n```json\n  \"scripts\": {\n    \"post-create-project-cmd\": [\n      \"Generoi\\\\Robo\\\\Composer\\\\ComposerScript::postCreateProject\"\n    ],\n    \"test\": [\n      \"Generoi\\\\Robo\\\\Composer\\\\ComposerScript::test\"\n    ]\n  }\n```\n\n#### `RoboFile.php`\n\nAdd a `RoboFile.php`, you can check Genero's Bedrock repository for an example.\n\n```php\n\u003c?php\n\nuse Robo\\Robo;\nuse Generoi\\Robo\\Task\\loadTasks;\nuse Generoi\\Robo\\Command\\loadCommands;\n\nclass RoboFile extends \\Robo\\Tasks\n{\n    use loadTasks;\n    use loadCommands;\n\n    /**\n     * Pull uploads directory from remote to local.\n     *\n     * @param  string  $source  Source alias eg. `production`\n     * @return \\Robo\\Result\n     */\n    public function filesPull(string $source, $options = ['exclude' =\u003e null, 'dry-run' =\u003e false])\n    {\n        return $this-\u003ersyncPull(\"{$source}:%files\", $options);\n    }\n\n    /**\n     * Push uploads directory from local to remote.\n     *\n     * @param  string  $destination  Destination alias eg. `production`\n     * @return \\Robo\\Result\n     */\n    public function filesPush(string $destination, $options = ['exclude' =\u003e null, 'dry-run' =\u003e true])\n    {\n        return $this-\u003ersyncPush(\"{$destination}:%files\", $options);\n    }\n}\n```\n\n#### `robo.yml`\n\nCreate a `robo.yml` file:\n\n```yaml\nmachine_name: \u003cexample-project\u003e\ntheme_path: 'web/app/themes/${machine_name}'\norganization: generoi\nenv:\n  '@docker':\n    host: '${machine_name}.ddev.local'\n    wpcli: 'ddev exec wp-cli'\n    path: '/var/www/html'\n    url: 'http://${machine_name}.ddev.local'\n  '@dev':\n    host: '${machine_name}.test'\n    user: vagrant\n    path: '/var/www/wordpress'\n    url: 'http://${machine_name}.test'\n  '@staging':\n    host: staging.example.org\n    user: deploy\n    path: '/var/www/staging/${machine_name}/deploy/current'\n    ssh: 'ssh -o ForwardAgent=yes'\n    url: 'http://staging.example.org'\n  '@production':\n    host: production.example.org\n    user: deploy\n    path: '/home/www/${machine_name}/deploy/current'\n    ssh: 'ssh -o ForwardAgent=yes -o \"ProxyCommand ssh deploy@staging.example.org nc %h %p 2\u003e /dev/null\"'\n    url: 'https://production.example.org'\n\nplaceholders:\n  '%files': web/app/uploads/\n\ncommand:\n  build:\n    production:\n      options:\n        npm-script: 'build:production'\n    development:\n      options:\n        npm-script: 'build'\n  setup:\n    theme:\n      options:\n        theme-repository: 'git@github.com:generoi/sage.git'\n  search:\n    replace:\n      options:\n        dirs:\n          - config\n          - web/app/themes\n          - web/app/mu-plugins\n        exclude:\n          - robo.yml\n          - dist\n  db:\n    options:\n      exclude_tables:\n        - wp_gf_entry\n        - wp_gf_entry_meta\n        - wp_gf_entry_notes\n        - wp_gf_incomplete_submissions\n        - wp_rg_incomplete_submissions\n        - wp_rg_lead\n        - wp_rg_lead_detail\n        - wp_rg_lead_detail_long\n        - wp_rg_lead_meta\n        - wp_rg_lead_notes\n        - wp_stream\n        - wp_stream_meta\n    pull:\n      options:\n        target: '@dev'\n    push:\n      options:\n        source: '@dev'\n  files:\n    options:\n      options:\n        chmod: 'Dug=rwx,Do=rx,Fug=rw,Fo=r'\n      exclude:\n        - 'gravity_forms/'\n        - '*.webp'\n        - '*-c-*.jpg'\n        - '*-c-*.jpeg'\n        - '*-c-*.png'\n\ntask:\n  Remote:\n    RsyncAlias:\n      settings:\n        progress: true\n        humanReadable: true\n```\n\n## Usage\n\n```sh\nrobo list\nrobo build:production\nrobo rsync production:~/.bashrc .\nrobo rsync:pull production:%files\nrobo files:pull production\nrobo test:sniff --autofix\nrobo setup\nrobo search:replace\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeneroi%2Frobo-genero","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgeneroi%2Frobo-genero","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeneroi%2Frobo-genero/lists"}