diff --git a/README.md b/README.md deleted file mode 100644 index d5d259fa..00000000 --- a/README.md +++ /dev/null @@ -1 +0,0 @@ -# power-tools \ No newline at end of file diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 00000000..0e97818c --- /dev/null +++ b/docs/README.md @@ -0,0 +1,56 @@ +# PowerTools + +At [Power Home Remodeling](https://powerhrg.com/), we have created foundational bits of code that we use to configure our applications, several of which are [cobra](https://cbra.info/)-based. We have packaged these individually inside a mono-repo to help engineers more easily maintain and consume them among our suite of applications, products and features. + +## Packages 📦 + +power-tools currently contains the following packages (marked for release to rubygems 💎 or npm ☕️): + +[nitro_config]() 💎 +When included in a Rails application, NitroConfig loads the configuration file at `config/config.yml` within the application directory and makes its values available at `NitroConfig.config`. Config values are loaded based on the Rails environment, permitting the specification of multiple environments' configurations in a single file. + +## Installation 🛠 + +These packages are all meant to install inside of an application and aren't intended to stand alone; currently, they are all published to [RubyGems](https://rubygems.org/) and you can use standard Bundler methods to install them. + +```ruby= +# Gemfile + +gem "nitro_config" +``` + +## Local Development 👩🏽‍💻 + +If a change needs to be made to a package, the easiest way to develop and test locally would be to temporarily change your Gemfile to point to your local version of the package: + +```ruby= +# Gemfile + +gem "nitro_config", path: "~/path/to/gems/nitro_config" +``` + +⚠️ Please note that such a change should never be committed, as other users would not have access to the same path your computer. ⚠️ + +## Testing 🔍 + +The expectation for these packages is that additions/modifications should be covered in the specs. + +UI testing will be done by opening a PR/branch, and then opening a PR for a client application that points to the version on the corresponding branch. + +```ruby= +# Gemfile + +gem "nitro_config", github: "powerhome/nitro_config", branch: "example-branch-name" +``` + +## Release 🚀 + +Releases will be published according to [Semantic Versioning](https://semver.org/) and it is the responsibility of the consumers to keep their application dependencies up to date. We recommend leveraging [renovatebot](https://github.com/renovatebot/renovate) 🤖 + +## Maintenance 🚧 + +These packages are maintained by [Power's](https://github.com/powerhome) Heroes for Hire team. + +## Contributing 💙 + +Contributions are welcome! Feel free to [open a ticket](https://github.com/powerhome/power-tools/issues/new) or a [PR](https://github.com/powerhome/power-tools/pulls). diff --git a/mkdocs.yml b/mkdocs.yml new file mode 100644 index 00000000..0032336d --- /dev/null +++ b/mkdocs.yml @@ -0,0 +1,8 @@ +site_name: Power Tools +site_description: Packages for application configuration. +repo_url: https://github.com/powerhome/power-tools +edit_uri: edit/main/nitro_config/docs/ +nav: + - 'Home': 'README.md' +plugins: + - techdocs-core diff --git a/portal.yml b/portal.yml new file mode 100644 index 00000000..f9d1a6ba --- /dev/null +++ b/portal.yml @@ -0,0 +1,29 @@ +--- +apiVersion: backstage.io/v1alpha1 +kind: Component +metadata: + name: power-tools + title: PowerTools + description: PowerTools packages for applications. + annotations: + backstage.io/techdocs-ref: dir:. +spec: + type: library + owner: heroes-for-hire + lifecycle: production + system: power-application-framework +--- +apiVersion: backstage.io/v1alpha1 +kind: Component +metadata: + name: nitro_config + title: Nitro Config + description: Easier configuration for cobra applications + annotations: + backstage.io/techdocs-ref: dir:nitro_config +spec: + type: library + owner: heroes-for-hire + lifecycle: production + subcomponentOf: power-tools + system: power-application-framework diff --git a/renovate.json b/renovate.json new file mode 100644 index 00000000..190af432 --- /dev/null +++ b/renovate.json @@ -0,0 +1,8 @@ +{ + "extends": ["config:base", "group:allNonMajor"], + "lockFileMaintenance": { + "enabled": true + }, + "labels": ["dependencies"], + "timezone": "America/New_York" +}