dev_onboarder 0.9.0 → 0.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/CHANGELOG.md +4 -0
- data/README.md +1 -1
- data/lib/dev_onboarder/version.rb +1 -1
- data/the_local/agents/dev_onboarder-develop.md +2 -2
- data/the_local/agents/dev_onboarder-install.md +5 -5
- data/the_local/interface.yml +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 5fec77b9c95e58e082ed3fea9246db9b2241960f938b52a76180a1a8e339b7a8
|
|
4
|
+
data.tar.gz: 783c8b0d638e93c3ab1aae29cf367a55c42467eacf905a35c99f92ea4225e8d8
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e4673663a7339b9cbaf6b50eda4ff7690d89a26b5300b2927c9aaeeb6f14e9dd3408dc463632aaaa87e11a512235ebda61a71184ca957d4f183cf0155f70f56f
|
|
7
|
+
data.tar.gz: db4001553801d75a7302d3dfb4cb5fdafd202607527d57d843e74ea95747c987b21d769114f5c59c42c9d83b69d626abfe6cc35cf1fca5af6434fa8b9d0d21e0
|
data/CHANGELOG.md
CHANGED
data/README.md
CHANGED
|
@@ -4,7 +4,7 @@ One setup command that gets a developer from a fresh clone to a working repo.
|
|
|
4
4
|
|
|
5
5
|
## Install
|
|
6
6
|
|
|
7
|
-
Add
|
|
7
|
+
Add `gem "dev_onboarder", "~> 0.9"` to the repo's `Gemfile` and run `bundle install`, then write a `Setupfile`. Nothing else in
|
|
8
8
|
the repo changes: the gem adds no line to its routes, boot code, initializers or `.gitignore`.
|
|
9
9
|
|
|
10
10
|
## Declare what the repo needs
|
|
@@ -101,9 +101,9 @@ A gem that reads a `Setupfile` at the repo's root, checks each requirement it de
|
|
|
101
101
|
|
|
102
102
|
- `bundle exec dev_onboarder setup payments` checks, fixes and asks for only that feature's requirements, and exits non-zero when any required one of them is not met. An unknown name prints `No feature named <name>.` and exits non-zero.
|
|
103
103
|
- `bundle exec dev_onboarder status` lists each requirement that is new, changed or was left not met, with a feature's requirements under its name. A requirement counts as changed when its check, fix or instruction changes. With nothing to list it prints `Nothing has changed since your last setup.` It exits non-zero only when a required requirement outside a feature is listed.
|
|
104
|
-
- `bundle exec dev_onboarder features` lists each feature as ready or not ready. A feature is not ready when any of its requirements is new, changed or not met. It exits zero whenever the `Setupfile` loads.
|
|
104
|
+
- `bundle exec dev_onboarder features` lists each feature as ready or not ready. A feature is not ready when any of its requirements, optional ones included, is new, changed or not met. It exits zero whenever the `Setupfile` loads.
|
|
105
105
|
|
|
106
|
-
9. In a Rails app that has keystone_ui, point the developer to `/dev_onboarder` on the locally running app. It shows every requirement by group with its state and last check, each feature and whether it is ready, and the command to run. It reads the last recorded run and runs no check and no fix, so a
|
|
106
|
+
9. In a Rails app that has keystone_ui, point the developer to `/dev_onboarder` on the locally running app. It shows every requirement by group with its state and last check, each feature and whether it is ready, and the command to run. It reads the current `Setupfile` and the last recorded run, and runs no check and no fix, so a requirement added to the `Setupfile` shows as new there until a command has run. An error in the `Setupfile` is shown on the page as a warning. When the server starts locally, its output carries one line when any requirement outside a feature is new, changed or not met.
|
|
107
107
|
|
|
108
108
|
## Conventions
|
|
109
109
|
|
|
@@ -13,17 +13,17 @@ A gem that checks and fixes what a repo needs to run, hooked into any repo that
|
|
|
13
13
|
|
|
14
14
|
## Interface
|
|
15
15
|
|
|
16
|
-
- `gem "dev_onboarder",
|
|
16
|
+
- `gem "dev_onboarder", "~> 0.9"` — the `Gemfile` line that adds the gem to the repo from RubyGems.
|
|
17
17
|
- `DevOnboarder.base_controller` — the name of the controller the setup page inherits from, given as a string, in a Rails app with keystone_ui only.
|
|
18
18
|
|
|
19
19
|
## How to use it
|
|
20
20
|
|
|
21
|
-
1. Read the repo's `Gemfile`. If it already has a `dev_onboarder` line, stop and tell the developer which version it names.
|
|
21
|
+
1. Read the repo's `Gemfile`. If it already has a `dev_onboarder` line that names `github:`, replace that line with the line in step 3, keeping its group, and go to step 4. If it has any other `dev_onboarder` line, stop and tell the developer which version it names.
|
|
22
22
|
2. Ask the developer which Gemfile group the gem goes in: the default group, or `group: :development`. In the default group, the setup page also exists when the app runs in test. In `group: :development`, the gem is not loaded in test or production.
|
|
23
23
|
3. Add this line to the `Gemfile`, in the group the developer chose:
|
|
24
24
|
|
|
25
25
|
```ruby
|
|
26
|
-
gem "dev_onboarder",
|
|
26
|
+
gem "dev_onboarder", "~> 0.9"
|
|
27
27
|
```
|
|
28
28
|
|
|
29
29
|
4. Run `bundle install`. It updates `Gemfile.lock`. No other file in the repo is created or edited: no route, no initializer, no boot code, no `.gitignore` line.
|
|
@@ -37,11 +37,11 @@ A gem that checks and fixes what a repo needs to run, hooked into any repo that
|
|
|
37
37
|
|
|
38
38
|
## Conventions
|
|
39
39
|
|
|
40
|
-
- Confirm the install with `bundle info dev_onboarder`, which prints version 0.9.0.
|
|
40
|
+
- Confirm the install with `bundle info dev_onboarder`, which prints a version of 0.9.0 or later and below 1.0.
|
|
41
41
|
- In a Rails app where step 7 set a controller, confirm it with `bin/rails runner -e development 'puts DevOnboarder.base_controller'`, which prints that controller's name.
|
|
42
42
|
- `DevOnboarder.base_controller` exists only when the app is a Rails app and keystone_ui is in the bundle. Never set it without the `defined?(DevOnboarder::Engine)` guard.
|
|
43
43
|
- The setup page is mounted at `/dev_onboarder` by the gem itself when the app runs in development or test, and never in production. Never add a route for it.
|
|
44
44
|
- In a Rails app with keystone_ui, the gem reads the repo's `.env` into the environment in development, before the app's own initializers, and leaves any variable the shell already sets as it is. Tell the developer this when the app already loads `.env` another way.
|
|
45
45
|
- In a Rails app with keystone_ui and a `Setupfile`, a server started in development or test prints one line when a requirement outside any feature is new, changed or not met. Nothing is added to the app for it.
|
|
46
|
-
- To
|
|
46
|
+
- To take a newer 0.x release, run `bundle update dev_onboarder`. To move past 0.x, change the version in the `Gemfile` line first.
|
|
47
47
|
- Writing the `Setupfile`, and running or reading the gem's command, are out of scope. Hand those to the develop local.
|
data/the_local/interface.yml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
scope: repo setup — the Setupfile that declares what a repo needs, and the command a new developer runs to check and fix it
|
|
2
2
|
|
|
3
3
|
install:
|
|
4
|
-
- 'gem "dev_onboarder",
|
|
4
|
+
- 'gem "dev_onboarder", "~> 0.9"'
|
|
5
5
|
- DevOnboarder.base_controller
|
|
6
6
|
|
|
7
7
|
develop:
|