@@ -44,6 +44,68 @@ Install the recommended extension `Prettier - Code formatter`.
44441 . Install the extension ` PlantUML ` (Id: ` jebbs.plantuml ` ).
45452 . Follow its documentation for setting up its requirments.
4646
47+ ## Document Changes with Changesets
48+
49+ For managing versioning and changelogs we use [ changesets] ( https://github.com/changesets/changesets )
50+ All the unreleased changes are stored within the [ ` .changeset/ ` ] ( .changeset ) folder.
51+
52+ ### Create an Unreleased Changeset
53+
54+ After you have made a significant change to the codebase, you can create a changeset to document it.
55+
56+ ``` bash
57+ npm run changeset
58+ ```
59+
60+ - You'll be prompted to select packages and specify the type of change (` patch ` , ` minor ` , ` major ` ).
61+ - It will create a markdown file in ` .changeset/ ` describing the change. Don't for get to add it via ` git add ` .
62+ - These files are considered "unreleased" until a version bump is triggered via ` npm run changeset:version `
63+ - It's totally fine to have several of these unreleased changesets on the main branch.
64+
65+ ### Create a new version and update changelog
66+
67+ When you're ready to release:
68+
69+ ``` bash
70+ npm run changeset:version
71+ ```
72+
73+ - This command:
74+ - Applies the changesets to bump versions in ` package.json ` s.
75+ - updates the [ ` ./webapp/CHANGELOG.md ` ] ( ./webapp/CHANGELOG.md ) with the changes from ` .changeset/*.md ` .
76+ - Deletes applied ` .changeset/*.md ` files.
77+
78+ ### Create a release candidate (rc)
79+
80+ To enter pre-release mode in order to create a release candidate with an ` rc ` tag:
81+
82+ ``` bash
83+ npn run changeset:enter-pre-release
84+ ```
85+
86+ This sets the project into pre-release mode. Versions will become something like ` 1.0.0-rc.0 ` .
87+ To increment and update, you can now run (as with normal releases):
88+
89+ ``` bash
90+ npm run changeset:version
91+ ```
92+
93+ To exit pre-release mode (usually when doing final release):
94+
95+ ``` bash
96+ npn run changeset:exit-pre-release
97+ ```
98+
99+ ### Create a tag
100+
101+ To create and push a Git tag after versioning:
102+ After running ` npm run changeset:version ` , you can create a git tag using.
103+ Please only create the tags on the main branch (except for release candidates).
104+
105+ ``` bash
106+ npm run changeset:tag
107+ ```
108+
47109## Running in development
48110
49111In the root folder (outside webapp) create file ` ./config/projects.yaml `
@@ -171,7 +233,6 @@ module.exports = {
171233* GitHub issue – public assets missing in monorepo builds (#33895)
172234 [https://github.com/vercel/next.js/issues/33895](https://github.com/vercel/next.js/issues/33895)
173235
174-
175236# # Docker setup
176237
177238To run Lyra in a docker container, you need to build the Docker image using the [`Dockerfile`](./Dockerfile) in the root of this repository.
0 commit comments