{"id":18722765,"url":"https://github.com/bronzdoc/orbi","last_synced_at":"2026-03-13T18:17:18.181Z","repository":{"id":89418498,"uuid":"90330096","full_name":"bronzdoc/orbi","owner":"bronzdoc","description":" :robot: Project structure generator","archived":false,"fork":false,"pushed_at":"2017-05-07T23:47:26.000Z","size":119,"stargazers_count":5,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-04T15:06:13.473Z","etag":null,"topics":["bootstrap","generator","golang","scaffolding"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/bronzdoc.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","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":"2017-05-05T02:42:57.000Z","updated_at":"2020-06-27T17:05:53.000Z","dependencies_parsed_at":"2023-03-13T18:09:56.728Z","dependency_job_id":null,"html_url":"https://github.com/bronzdoc/orbi","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bronzdoc%2Forbi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bronzdoc%2Forbi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bronzdoc%2Forbi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bronzdoc%2Forbi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bronzdoc","download_url":"https://codeload.github.com/bronzdoc/orbi/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248586225,"owners_count":21128995,"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","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":["bootstrap","generator","golang","scaffolding"],"created_at":"2024-11-07T13:42:49.497Z","updated_at":"2026-03-13T18:17:13.141Z","avatar_url":"https://github.com/bronzdoc.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"![orbi](https://github.com/bronzdoc/orbi/blob/master/logo.png)\n[![Build Status](https://travis-ci.org/bronzdoc/orbi.svg?branch=master)](https://travis-ci.org/bronzdoc/orbi)\n\n\u003e Project structure generator.\n\nGenerate project structures using yaml and golang templating.\n\n# Install\n\u003e NOTE: orbi just works with \\*nix operating systems, windows is not supported for now.\n\n### Binaries\n\n- **linux** [386](https://github.com/bronzdoc/orbi/releases/download/v0.1.1/orbi-linux-386) / [amd64](https://github.com/bronzdoc/orbi/releases/download/v0.1.1/orbi-linux-amd64) / [arm](https://github.com/bronzdoc/orbi/releases/download/v0.1.1/orbi-linux-arm) / [arm64](https://github.com/bronzdoc/orbi/releases/download/v0.1.1/orbi-linux-arm64)\n- **darwin** [386](https://github.com/bronzdoc/orbi/releases/download/v0.1.1/orbi-darwin-386) / [amd64](https://github.com/bronzdoc/orbi/releases/download/v0.1.1/orbi-darwin-amd64)\n- **freebsd** [386](https://github.com/bronzdoc/orbi/releases/download/v0.1.1/orbi-freebsd-386) / [amd64](https://github.com/bronzdoc/orbi/releases/download/v0.1.1/orbi-freebsd-amd64)\n\n### Via Go\n\n```shell\n$ go get github/bronzdoc/orbi\n```\n\n# Usage\n\nOrbi defines project structures using a `definition.yml`.\n\n```yaml\n---\ncontext: .\nresources:\n  - dir:\n     name: dir_1\n     files:\n      - file_a\n\n  - dir:\n     name: dir_2\n     files:\n      - file_b\n     dir:\n      name: dir_3\n      files:\n        - file_c\n        - file_d\n\n  - files:\n     - file_e\n     - file_f\n```\n\nA `context` is where your `resources` structure will be created.\n\nThe way orbi organize definitions is with something called a `plan`, you can create a new plan by doing:\n\n```shell\n$ orbi plan new my_plan\n```\n\nThis command will generate the following:\n\n```shell\n$ tree ~/.orbi/plans/my_plan\n\nmy_plan\n├── definition.yml\n└── templates\n```\n\nYou can notice a `templates` directory, this is where your templates should be.\n\nIn order to template a file all you need to do is create a file named the same as a file resource.\n\n```yaml\ncontext: .\nresources:\n  files:\n    - file_a\n```\n\n```shell\n├── definition.yml\n└── templates\n    └── file_a\n```\n\nOk, we have a plan with a definition.yml and templates, so... how we create all that stuff we defined?\n\nAll you need to do is tell orbi to execute a `plan`:\n\n```shell\n$ orbi exec my_plan\n```\n\nthis command will generate the file structure defined in your plan definition.yml.\n\nIf your plan templates happen to have variables, you can pass values to those variables with the `--vars` flag.\n\nin `.orbi/plans/my_plan/templates/file_a`\n\n```\n{{.name}} is awesome\n```\n\n```shell\n$ orbi exec my_plan --vars=\"name=Tarantino\"\n```\n\nthat command will generate the file named `file_a` with content `Tarantino is awesome`.\n\u003e NOTE: you can also pass a KEY=VALUE variables file with `--vars-file`\n\n\n### Sharing plans\norbi let you download a plan from a repository with the `orbi plan get` command\n\n**ssh:**\n```shell\n$ orbi plan get my_plan git@github.com:user/plan_name.git\n```\n\n**https:**\n```shell\n$ orbi plan get my_plan https://user@github.com/user/plan_name.git\n```\n\n## Contributing\n\nContributions are greatly appreciated and encouraged, see [CONTRIBUTING](https://github.com/bronzdoc/orbi/blob/master/CONTRIBUTING.md)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbronzdoc%2Forbi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbronzdoc%2Forbi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbronzdoc%2Forbi/lists"}