Skip to content

Commit 52f0ee0

Browse files
committed
chore: add a .release-it configuration and release process
1 parent f80cf3c commit 52f0ee0

File tree

4 files changed

+138
-1
lines changed

4 files changed

+138
-1
lines changed

.release-it.json

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
{
2+
"git": {
3+
"commitMessage": "chore: release v${version}",
4+
"tagName": "v${version}",
5+
"push": false
6+
},
7+
"npm": {
8+
"publish": false
9+
},
10+
"github": {
11+
"release": false
12+
},
13+
"plugins": {
14+
"@release-it/conventional-changelog": {
15+
"preset": "conventionalcommits"
16+
}
17+
}
18+
}

CHANGELOG.md

Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## [0.1.1] - 2025-06-06
9+
10+
### Changed
11+
12+
- Minor improvements and bug fixes
13+
14+
## [0.1.0] - 2025-05-20
15+
16+
### Added
17+
18+
- Major release with enhanced functionality
19+
- Improved Model Context Protocol integration
20+
21+
## [0.0.6] - 2025-05-08
22+
23+
### Fixed
24+
25+
- Bug fixes and stability improvements
26+
27+
## [0.0.5] - 2025-05-08
28+
29+
### Fixed
30+
31+
- Additional bug fixes
32+
33+
## [0.0.4] - 2025-05-08
34+
35+
### Changed
36+
37+
- Performance improvements
38+
39+
## [0.0.3] - 2025-05-08
40+
41+
### Fixed
42+
43+
- Critical bug fixes
44+
45+
## [0.0.2] - 2025-05-08
46+
47+
### Added
48+
49+
- Initial public release
50+
- Basic Model Context Protocol server for Vuetify assistance
51+
- CLI tool for easy setup and configuration
52+
53+
[0.1.1]: https://github.com/vuetifyjs/mcp/compare/v0.1.0...v0.1.1
54+
[0.1.0]: https://github.com/vuetifyjs/mcp/compare/v0.0.6...v0.1.0
55+
[0.0.6]: https://github.com/vuetifyjs/mcp/compare/v0.0.5...v0.0.6
56+
[0.0.5]: https://github.com/vuetifyjs/mcp/compare/v0.0.4...v0.0.5
57+
[0.0.4]: https://github.com/vuetifyjs/mcp/compare/v0.0.3...v0.0.4
58+
[0.0.3]: https://github.com/vuetifyjs/mcp/compare/v0.0.2...v0.0.3
59+
[0.0.2]: https://github.com/vuetifyjs/mcp/releases/tag/v0.0.2

RELEASE.md

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
# Release Process
2+
3+
This document describes the release process for @vuetify/mcp.
4+
5+
## Release Process
6+
7+
The project uses [release-it](https://github.com/release-it/release-it) with conventional commits to automate version determination and changelog generation.
8+
9+
### Release Commands
10+
11+
```bash
12+
# Automatic release (determines version bump from conventional commits)
13+
pnpm release
14+
15+
# Then push the changes and tag to trigger CI
16+
git push --follow-tags
17+
18+
# Dry run to see what version would be bumped
19+
pnpm release:dry
20+
```
21+
22+
### Automatic Version Detection
23+
24+
The release process automatically determines the version bump based on your conventional commits since the last release:
25+
26+
- **patch** (0.1.1 → 0.1.2): `fix:` and `perf:` commits
27+
- **minor** (0.1.1 → 0.2.0): `feat:` commits
28+
- **major** (0.1.1 → 1.0.0): commits with `BREAKING CHANGE:` in footer or `!` after type (e.g., `feat!: breaking change`)
29+
30+
### What happens during release
31+
32+
1. **Local (pnpm release)**:
33+
- Analyzes commits to determine version bump
34+
- Updates package.json version
35+
- Updates CHANGELOG.md with new entries
36+
- Creates git commit and tag
37+
38+
2. **After git push --follow-tags**:
39+
- CI workflow triggers on the new tag
40+
- Project is built
41+
- Package is published to npm
42+
- GitHub release is created automatically
43+
44+
### Commit Convention
45+
46+
Use conventional commits for automatic changelog generation:
47+
48+
- `feat:` New features
49+
- `fix:` Bug fixes
50+
- `docs:` Documentation changes
51+
- `style:` Code style changes
52+
- `refactor:` Code refactoring
53+
- `perf:` Performance improvements
54+
- `test:` Test updates
55+
- `chore:` Build process or auxiliary tool changes
56+
57+
Example: `feat: add support for Vuetify 3.5`

package.json

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@
2626
"cli": "node dist/cli/index.js",
2727
"watch": "tsc --watch",
2828
"lint": "eslint . --ext .js,.jsx,.ts,.tsx",
29-
"lint:fix": "eslint . --ext .js,.jsx,.ts,.tsx --fix"
29+
"lint:fix": "eslint . --ext .js,.jsx,.ts,.tsx --fix",
30+
"release": "release-it"
3031
},
3132
"keywords": [
3233
"vuetify",
@@ -52,13 +53,15 @@
5253
"zod": "^3.25.56"
5354
},
5455
"devDependencies": {
56+
"@release-it/conventional-changelog": "^8.0.2",
5557
"@types/node": "^22.15.30",
5658
"@types/which": "^3.0.4",
5759
"conventional-changelog-cli": "^5.0.0",
5860
"conventional-changelog-vuetify": "^2.0.2",
5961
"conventional-github-releaser": "^3.1.5",
6062
"eslint": "^9.28.0",
6163
"eslint-config-vuetify": "^4.0.0",
64+
"release-it": "^17.8.2",
6265
"rimraf": "^6.0.1",
6366
"typescript": "^5.8.3"
6467
},

0 commit comments

Comments
 (0)