Skip to content

Commit 7619d97

Browse files
committed
Add link to experimental release-it KB
1 parent 5598ef8 commit 7619d97

File tree

1 file changed

+120
-113
lines changed

1 file changed

+120
-113
lines changed

README.md

+120-113
Original file line numberDiff line numberDiff line change
@@ -58,13 +58,18 @@ npx release-it
5858

5959
You will be prompted to select the new version, and more prompts will follow based on your configuration.
6060

61+
## Experimental: knowledge base
62+
63+
You might want to ask your questions in the [Release It! knowledge base][14] (powered by OpenAI and [7-docs][15]). This
64+
is an experimental knowledge base, answers may be incorrect.
65+
6166
## Yarn
6267

63-
Using Yarn? Please see the [npm section on Yarn][14].
68+
Using Yarn? Please see the [npm section on Yarn][16].
6469

6570
## Monorepos
6671

67-
Using a monorepo? Please see this [monorepo recipe][15].
72+
Using a monorepo? Please see this [monorepo recipe][17].
6873

6974
## Global Installation
7075

@@ -76,13 +81,13 @@ Per-project installation as shown above is recommended, but global installs are
7681
## GitHub Actions
7782

7883
Want to use release-it with GitHub Actions to fully automate the whole process? Enjoy this great walk-through: [How to
79-
use GitHub Actions & Release-It to Easily Release Your Code][16] (by [David from Kodaps][17]).
84+
use GitHub Actions & Release-It to Easily Release Your Code][18] (by [David from Kodaps][19]).
8085

8186
→ See [Continuous Integration environments][9] for more details.
8287

8388
## Configuration
8489

85-
Out of the box, release-it has sane defaults, and [plenty of options][18] to configure it. Most projects use a
90+
Out of the box, release-it has sane defaults, and [plenty of options][20] to configure it. Most projects use a
8691
`.release-it.json` file in the project root, or a `release-it` property in `package.json`.
8792

8893
Here's a quick example `.release-it.json`:
@@ -98,7 +103,7 @@ Here's a quick example `.release-it.json`:
98103
}
99104
```
100105

101-
→ See [Configuration][19] for more details.
106+
→ See [Configuration][21] for more details.
102107

103108
## Interactive vs. CI mode
104109

@@ -116,15 +121,15 @@ Use `--only-version` to use a prompt only to determine the version, and automate
116121

117122
How does release-it determine the latest version?
118123

119-
1. For projects with a `package.json`, its `version` will be used (see [npm][20] to skip this).
124+
1. For projects with a `package.json`, its `version` will be used (see [npm][22] to skip this).
120125
2. Otherwise, release-it uses the latest Git tag to determine which version should be released.
121126
3. As a last resort, `0.0.0` will be used as the latest version.
122127

123128
Alternatively, a plugin can be used to override this (e.g. to manage a `VERSION` or `composer.json` file):
124129

125-
- [@release-it/bumper][21] to read from or bump the version in any file
126-
- [@release-it/conventional-changelog][22] to get a recommended bump based on commit messages
127-
- [release-it-calver-plugin][23] to use CalVer (Calendar Versioning)
130+
- [@release-it/bumper][23] to read from or bump the version in any file
131+
- [@release-it/conventional-changelog][24] to get a recommended bump based on commit messages
132+
- [release-it-calver-plugin][25] to use CalVer (Calendar Versioning)
128133

129134
Add the `--release-version` flag to print the **next** version without releasing anything.
130135

@@ -133,35 +138,35 @@ Add the `--release-version` flag to print the **next** version without releasing
133138
Git projects are supported well by release-it, automating the tasks to stage, commit, tag and push releases to any Git
134139
remote.
135140

136-
→ See [Git][24] for more details.
141+
→ See [Git][26] for more details.
137142

138143
## GitHub Releases
139144

140145
GitHub projects can have releases attached to Git tags, containing release notes and assets. There are two ways to add
141-
[GitHub releases][25] in your release-it flow:
146+
[GitHub releases][27] in your release-it flow:
142147

143148
1. Automated (requires a `GITHUB_TOKEN`)
144149
2. Manual (using the GitHub web interface with pre-populated fields)
145150

146-
→ See [GitHub Releases][26] for more details.
151+
→ See [GitHub Releases][28] for more details.
147152

148153
## GitLab Releases
149154

150155
GitLab projects can have releases attached to Git tags, containing release notes and assets. To automate [GitLab
151-
releases][27]:
156+
releases][29]:
152157

153158
- Configure `gitlab.release: true`
154-
- Obtain a [personal access token][28] (release-it only needs the "api" scope).
155-
- Make sure the token is [available as an environment variable][29].
159+
- Obtain a [personal access token][30] (release-it only needs the "api" scope).
160+
- Make sure the token is [available as an environment variable][31].
156161

157-
→ See [GitLab Releases][30] for more details.
162+
→ See [GitLab Releases][32] for more details.
158163

159164
## Changelog
160165

161166
By default, release-it generates a changelog, to show and help select a version for the new release. Additionally, this
162167
changelog serves as the release notes for the GitHub or GitLab release.
163168

164-
The [default command][18] is based on `git log ...`. This setting (`git.changelog`) can be overridden. To further
169+
The [default command][20] is based on `git log ...`. This setting (`git.changelog`) can be overridden. To further
165170
customize the release notes for the GitHub or GitLab release, there's `github.releaseNotes` or `gitlab.releaseNotes`.
166171
Make sure any of these commands output the changelog to `stdout`. Note that release-it by default is agnostic to commit
167172
message conventions. Plugins are available for:
@@ -173,22 +178,22 @@ message conventions. Plugins are available for:
173178

174179
To print the changelog without releasing anything, add the `--changelog` flag.
175180

176-
→ See [Changelog][31] for more details.
181+
→ See [Changelog][33] for more details.
177182

178183
## Publish to npm
179184

180185
With a `package.json` in the current directory, release-it will let `npm` bump the version in `package.json` (and
181186
`package-lock.json` if present), and publish to the npm registry.
182187

183-
→ See [Publish to npm][20] for more details.
188+
→ See [Publish to npm][22] for more details.
184189

185190
## Manage pre-releases
186191

187192
With release-it, it's easy to create pre-releases: a version of your software that you want to make available, while
188193
it's not in the stable semver range yet. Often "alpha", "beta", and "rc" (release candidate) are used as identifiers for
189194
pre-releases. An example pre-release version is `2.0.0-beta.0`.
190195

191-
→ See [Manage pre-releases][32] for more details.
196+
→ See [Manage pre-releases][34] for more details.
192197

193198
## Update or re-run existing releases
194199

@@ -218,7 +223,7 @@ Use the optional `:plugin` part in the middle to hook into a life cycle method e
218223
The core plugins include `version`, `git`, `npm`, `github`, `gitlab`.
219224

220225
Note that hooks like `after:git:release` will not run when either the `git push` failed, or when it is configured not to
221-
be executed (e.g. `git.push: false`). See [execution order][33] for more details on execution order of plugin lifecycle
226+
be executed (e.g. `git.push: false`). See [execution order][35] for more details on execution order of plugin lifecycle
222227
methods.
223228

224229
All commands can use configuration variables (like template strings). An array of commands can also be provided, they
@@ -236,7 +241,7 @@ will run one after another. Some example release-it configuration:
236241
}
237242
```
238243

239-
The variables can be found in the [default configuration][18]. Additionally, the following variables are exposed:
244+
The variables can be found in the [default configuration][20]. Additionally, the following variables are exposed:
240245

241246
```text
242247
version
@@ -267,7 +272,7 @@ Using Inquirer.js inside custom hook scripts might cause issues (since release-i
267272

268273
Use `--dry-run` to show the interactivity and the commands it _would_ execute.
269274

270-
→ See [Dry Runs][34] for more details.
275+
→ See [Dry Runs][36] for more details.
271276

272277
## Troubleshooting & debugging
273278

@@ -283,62 +288,62 @@ Since v11, release-it can be extended in many, many ways. Here are some plugins:
283288

284289
| Plugin | Description |
285290
| ----------------------------------------- | ----------------------------------------------------------------------------- |
286-
| [@release-it/bumper][21] | Read & write the version from/to any file |
287-
| [@release-it/conventional-changelog][22] | Provides recommended bump, conventional-changelog, and updates `CHANGELOG.md` |
288-
| [@release-it/keep-a-changelog][35] | Maintain CHANGELOG.md using the Keep a Changelog standards |
289-
| [@release-it-plugins/lerna-changelog][36] | Integrates lerna-changelog into the release-it pipeline |
290-
| [@release-it-plugins/workspaces][37] | Releases each of your projects configured workspaces |
291-
| [release-it-calver-plugin][23] | Enables Calendar Versioning (calver) with release-it |
292-
| [@grupoboticario/news-fragments][38] | An easy way to generate your changelog file |
293-
| [@j-ulrich/release-it-regex-bumper][39] | Regular expression based version read/write plugin for release-it |
291+
| [@release-it/bumper][23] | Read & write the version from/to any file |
292+
| [@release-it/conventional-changelog][24] | Provides recommended bump, conventional-changelog, and updates `CHANGELOG.md` |
293+
| [@release-it/keep-a-changelog][37] | Maintain CHANGELOG.md using the Keep a Changelog standards |
294+
| [@release-it-plugins/lerna-changelog][38] | Integrates lerna-changelog into the release-it pipeline |
295+
| [@release-it-plugins/workspaces][39] | Releases each of your projects configured workspaces |
296+
| [release-it-calver-plugin][25] | Enables Calendar Versioning (calver) with release-it |
297+
| [@grupoboticario/news-fragments][40] | An easy way to generate your changelog file |
298+
| [@j-ulrich/release-it-regex-bumper][41] | Regular expression based version read/write plugin for release-it |
294299

295300
Internally, release-it uses its own plugin architecture (for Git, GitHub, GitLab, npm).
296301

297-
→ See all [release-it plugins on npm][40].
302+
→ See all [release-it plugins on npm][42].
298303

299-
→ See [plugins][41] for documentation to write plugins.
304+
→ See [plugins][43] for documentation to write plugins.
300305

301306
## Use release-it programmatically
302307

303308
While mostly used as a CLI tool, release-it can be used as a dependency to integrate in your own scripts. See [use
304-
release-it programmatically][42] for example code.
309+
release-it programmatically][44] for example code.
305310

306311
## Example projects using release-it
307312

308-
- [axios/axios][43]
309-
- [blockchain/blockchain-wallet-v4-frontend][44]
310-
- [callstack/react-native-paper][45]
311-
- [ember-cli/ember-cli][46]
312-
- [js-cookie/js-cookie][47]
313-
- [metalsmith/metalsmith][48]
314-
- [mozilla/readability][49]
315-
- [pahen/madge][50]
316-
- [redis/node-redis][51]
317-
- [reduxjs/redux][52]
318-
- [saleor/saleor][53]
319-
- [Semantic-Org/Semantic-UI-React][54]
320-
- [shipshapecode/shepherd][55]
321-
- [StevenBlack/hosts][56]
322-
- [swagger-api/swagger-ui][57] + [swagger-editor][58]
323-
- [tabler/tabler][59] + [tabler-icons][60]
324-
- [youzan/vant][61]
325-
- [Repositories that depend on release-it][62]
326-
- GitHub search for [path:\*\*/.release-it.json][63]
313+
- [axios/axios][45]
314+
- [blockchain/blockchain-wallet-v4-frontend][46]
315+
- [callstack/react-native-paper][47]
316+
- [ember-cli/ember-cli][48]
317+
- [js-cookie/js-cookie][49]
318+
- [metalsmith/metalsmith][50]
319+
- [mozilla/readability][51]
320+
- [pahen/madge][52]
321+
- [redis/node-redis][53]
322+
- [reduxjs/redux][54]
323+
- [saleor/saleor][55]
324+
- [Semantic-Org/Semantic-UI-React][56]
325+
- [shipshapecode/shepherd][57]
326+
- [StevenBlack/hosts][58]
327+
- [swagger-api/swagger-ui][59] + [swagger-editor][60]
328+
- [tabler/tabler][61] + [tabler-icons][62]
329+
- [youzan/vant][63]
330+
- [Repositories that depend on release-it][64]
331+
- GitHub search for [path:\*\*/.release-it.json][65]
327332

328333
## Legacy Node.js
329334

330335
The latest major version is v15, supporting Node.js 14 and up (as Node.js v12 is EOL). Use release-it v14 for
331-
environments running Node.js v10 and v12. Also see [CHANGELOG.md][64].
336+
environments running Node.js v10 and v12. Also see [CHANGELOG.md][66].
332337

333338
## Links
334339

335-
- See [CHANGELOG.md][64] for major/breaking updates, and [releases][65] for a detailed version history.
336-
- To **contribute**, please read [CONTRIBUTING.md][66] first.
337-
- Please [open an issue][67] if anything is missing or unclear in this documentation.
340+
- See [CHANGELOG.md][66] for major/breaking updates, and [releases][67] for a detailed version history.
341+
- To **contribute**, please read [CONTRIBUTING.md][68] first.
342+
- Please [open an issue][69] if anything is missing or unclear in this documentation.
338343

339344
## License
340345

341-
[MIT][68]
346+
[MIT][70]
342347

343348
[1]: #git
344349
[2]: #hooks
@@ -353,58 +358,60 @@ environments running Node.js v10 and v12. Also see [CHANGELOG.md][64].
353358
[11]: https://github.com/release-it/release-it/workflows/Cross-OS%20Tests/badge.svg
354359
[12]: https://www.npmjs.com/package/release-it
355360
[13]: https://badge.fury.io/js/release-it.svg
356-
[14]: ./docs/npm.md#yarn
357-
[15]: ./docs/recipes/monorepo.md
358-
[16]: https://www.youtube.com/watch?v=7pBcuT7j_A0
359-
[17]: https://twitter.com/KodapsAcademy
360-
[18]: ./config/release-it.json
361-
[19]: ./docs/configuration.md
362-
[20]: ./docs/npm.md
363-
[21]: https://github.com/release-it/bumper
364-
[22]: https://github.com/release-it/conventional-changelog
365-
[23]: https://github.com/casmith/release-it-calver-plugin
366-
[24]: ./docs/git.md
367-
[25]: https://docs.github.com/en/repositories/releasing-projects-on-github/about-releases
368-
[26]: ./docs/github-releases.md
369-
[27]: https://docs.gitlab.com/ce/user/project/releases/
370-
[28]: https://gitlab.com/profile/personal_access_tokens
371-
[29]: ./docs/environment-variables.md
372-
[30]: ./docs/gitlab-releases.md
373-
[31]: ./docs/changelog.md
374-
[32]: ./docs/pre-releases.md
375-
[33]: ./docs/plugins.md#execution-order
376-
[34]: ./docs/dry-runs.md
377-
[35]: https://github.com/release-it/keep-a-changelog
378-
[36]: https://github.com/release-it-plugins/lerna-changelog
379-
[37]: https://github.com/release-it-plugins/workspaces
380-
[38]: https://github.com/grupoboticario/news-fragments
381-
[39]: https://github.com/j-ulrich/release-it-regex-bumper
382-
[40]: https://www.npmjs.com/search?q=keywords:release-it-plugin
383-
[41]: ./docs/plugins.md
384-
[42]: ./docs/recipes/programmatic.md
385-
[43]: https://github.com/axios/axios
386-
[44]: https://github.com/blockchain/blockchain-wallet-v4-frontend
387-
[45]: https://github.com/callstack/react-native-paper
388-
[46]: https://github.com/ember-cli/ember-cli
389-
[47]: https://github.com/js-cookie/js-cookie
390-
[48]: https://github.com/metalsmith/metalsmith
391-
[49]: https://github.com/mozilla/readability
392-
[50]: https://github.com/pahen/madge
393-
[51]: https://github.com/redis/node-redis
394-
[52]: https://github.com/reduxjs/redux
395-
[53]: https://github.com/saleor/saleor
396-
[54]: https://github.com/Semantic-Org/Semantic-UI-React
397-
[55]: https://github.com/shipshapecode/shepherd
398-
[56]: https://github.com/StevenBlack/hosts
399-
[57]: https://github.com/swagger-api/swagger-ui
400-
[58]: https://github.com/swagger-api/swagger-editor
401-
[59]: https://github.com/tabler/tabler
402-
[60]: https://github.com/tabler/tabler-icons
403-
[61]: https://github.com/youzan/vant
404-
[62]: https://github.com/release-it/release-it/network/dependents
405-
[63]: https://github.com/search?q=path%3A**%2F.release-it.json&type=code
406-
[64]: ./CHANGELOG.md
407-
[65]: https://github.com/release-it/release-it/releases
408-
[66]: ./.github/CONTRIBUTING.md
409-
[67]: https://github.com/release-it/release-it/issues/new
410-
[68]: ./LICENSE
361+
[14]: https://release-it.deno.dev
362+
[15]: https://github.com/7-docs/7-docs
363+
[16]: ./docs/npm.md#yarn
364+
[17]: ./docs/recipes/monorepo.md
365+
[18]: https://www.youtube.com/watch?v=7pBcuT7j_A0
366+
[19]: https://twitter.com/KodapsAcademy
367+
[20]: ./config/release-it.json
368+
[21]: ./docs/configuration.md
369+
[22]: ./docs/npm.md
370+
[23]: https://github.com/release-it/bumper
371+
[24]: https://github.com/release-it/conventional-changelog
372+
[25]: https://github.com/casmith/release-it-calver-plugin
373+
[26]: ./docs/git.md
374+
[27]: https://docs.github.com/en/repositories/releasing-projects-on-github/about-releases
375+
[28]: ./docs/github-releases.md
376+
[29]: https://docs.gitlab.com/ce/user/project/releases/
377+
[30]: https://gitlab.com/profile/personal_access_tokens
378+
[31]: ./docs/environment-variables.md
379+
[32]: ./docs/gitlab-releases.md
380+
[33]: ./docs/changelog.md
381+
[34]: ./docs/pre-releases.md
382+
[35]: ./docs/plugins.md#execution-order
383+
[36]: ./docs/dry-runs.md
384+
[37]: https://github.com/release-it/keep-a-changelog
385+
[38]: https://github.com/release-it-plugins/lerna-changelog
386+
[39]: https://github.com/release-it-plugins/workspaces
387+
[40]: https://github.com/grupoboticario/news-fragments
388+
[41]: https://github.com/j-ulrich/release-it-regex-bumper
389+
[42]: https://www.npmjs.com/search?q=keywords:release-it-plugin
390+
[43]: ./docs/plugins.md
391+
[44]: ./docs/recipes/programmatic.md
392+
[45]: https://github.com/axios/axios
393+
[46]: https://github.com/blockchain/blockchain-wallet-v4-frontend
394+
[47]: https://github.com/callstack/react-native-paper
395+
[48]: https://github.com/ember-cli/ember-cli
396+
[49]: https://github.com/js-cookie/js-cookie
397+
[50]: https://github.com/metalsmith/metalsmith
398+
[51]: https://github.com/mozilla/readability
399+
[52]: https://github.com/pahen/madge
400+
[53]: https://github.com/redis/node-redis
401+
[54]: https://github.com/reduxjs/redux
402+
[55]: https://github.com/saleor/saleor
403+
[56]: https://github.com/Semantic-Org/Semantic-UI-React
404+
[57]: https://github.com/shipshapecode/shepherd
405+
[58]: https://github.com/StevenBlack/hosts
406+
[59]: https://github.com/swagger-api/swagger-ui
407+
[60]: https://github.com/swagger-api/swagger-editor
408+
[61]: https://github.com/tabler/tabler
409+
[62]: https://github.com/tabler/tabler-icons
410+
[63]: https://github.com/youzan/vant
411+
[64]: https://github.com/release-it/release-it/network/dependents
412+
[65]: https://github.com/search?q=path%3A**%2F.release-it.json&type=code
413+
[66]: ./CHANGELOG.md
414+
[67]: https://github.com/release-it/release-it/releases
415+
[68]: ./.github/CONTRIBUTING.md
416+
[69]: https://github.com/release-it/release-it/issues/new
417+
[70]: ./LICENSE

0 commit comments

Comments
 (0)