Skip to content

Commit 8ca6b40

Browse files
committed
Merge branch 'main' into beta
# Conflicts: # .changeset/config.json # .github/workflows/ci.yml # .github/workflows/release.yml # .github/workflows/release_beta.yml # INSPECTOR_INTEGRATION.md # README.md # eslint.config.js # package.json # packages/cli/CHANGELOG.md # packages/cli/README.md # packages/cli/package.json # packages/cli/src/build.ts # packages/cli/src/index.ts # packages/create-mcp-use-app/CHANGELOG.md # packages/create-mcp-use-app/package.json # packages/create-mcp-use-app/src/index.ts # packages/create-mcp-use-app/src/templates/ui/README.md # packages/create-mcp-use-app/src/templates/ui/package.json # packages/create-mcp-use-app/src/templates/ui/resources/kanban-board.tsx # packages/create-mcp-use-app/src/templates/ui/src/server.ts # packages/create-mcp-use-app/src/templates/ui/tsconfig.json # packages/inspector/CHANGELOG.md # packages/inspector/README.md # packages/inspector/eslint.config.js # packages/inspector/package.json # packages/inspector/src/cli/inspect.ts # packages/inspector/src/client/components/AnimatedThemeToggler.tsx # packages/inspector/src/client/components/CommandPalette.tsx # packages/inspector/src/client/components/CustomHeadersEditor.tsx # packages/inspector/src/client/components/EnvVariablesEditor.tsx # packages/inspector/src/client/components/InspectorDashboard.tsx # packages/inspector/src/client/components/Layout.tsx # packages/inspector/src/client/components/McpUIRenderer.tsx # packages/inspector/src/client/components/PromptsTab.tsx # packages/inspector/src/client/components/ResourcesTab.tsx # packages/inspector/src/client/components/ServerIcon.tsx # packages/inspector/src/client/components/ToolsTab.tsx # packages/inspector/src/client/context/McpContext.tsx # packages/inspector/src/components/ui/add-server-dialog.tsx # packages/inspector/src/components/ui/animated-theme-toggler.tsx # packages/inspector/src/components/ui/blur-fade.tsx # packages/inspector/src/components/ui/random-gradient-background.tsx # packages/inspector/src/components/ui/server-selection-modal.tsx # packages/inspector/src/components/ui/sonner.tsx # packages/inspector/src/components/ui/tabs.tsx # packages/inspector/src/server/middleware.ts # packages/inspector/src/server/server.ts # packages/inspector/vite.config.ts # packages/mcp-use/CHANGELOG.md # packages/mcp-use/README.md # packages/mcp-use/package.json # packages/mcp-use/src/auth/browser-provider.ts # packages/mcp-use/src/react/useMcp.ts # packages/mcp-use/src/server/index.ts # packages/mcp-use/src/server/mcp-server.ts # packages/mcp-use/src/server/types.ts # pnpm-lock.yaml # pnpm-workspace.yaml
2 parents 93d07da + 78539be commit 8ca6b40

File tree

91 files changed

+6774
-1785
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

91 files changed

+6774
-1785
lines changed

.changeset/config.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,5 @@
77
"access": "public",
88
"baseBranch": "main",
99
"updateInternalDependencies": "patch",
10-
"ignore": ["test-ui"]
10+
"ignore": []
1111
}

.github/BETA_RELEASES.md

Lines changed: 252 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,252 @@
1+
# Beta Release Workflow
2+
3+
This guide explains how to release beta versions using the `beta` branch and automated GitHub Actions.
4+
5+
## 🎯 Overview
6+
7+
- **`main` branch** → Stable releases (automated via `release.yml`)
8+
- **`beta` branch** → Beta/prerelease versions (automated via `release-beta.yml`)
9+
- Feature branches → Work in progress (no releases)
10+
11+
## 🚀 Quick Start: Releasing a Beta
12+
13+
### 1. Create and Push to Beta Branch
14+
15+
```bash
16+
# From your feature branch (e.g., feat/mcp-ui-apps)
17+
git checkout -b beta
18+
19+
# Push to trigger the beta release workflow
20+
git push origin beta
21+
```
22+
23+
The GitHub Action will automatically:
24+
- Enter prerelease mode (creates `.changeset/pre.json`)
25+
- Create a "Version Packages (beta)" PR
26+
- Publish beta versions when the PR is merged
27+
28+
### 2. Make Changes and Create Changesets
29+
30+
```bash
31+
# Make your changes
32+
# ... edit files ...
33+
34+
# Create a changeset
35+
pnpm changeset
36+
37+
# Commit and push
38+
git add .
39+
git commit -m "feat: add new feature"
40+
git push origin beta
41+
```
42+
43+
### 3. The Automated Flow
44+
45+
When you push to `beta`:
46+
47+
1. **If no changesets exist**: Nothing happens (waiting for changesets)
48+
2. **If changesets exist**:
49+
- A PR is created with version bumps (e.g., `0.2.1-beta.0`)
50+
- Review and merge the PR
51+
- On merge, packages are automatically published to npm with `@beta` tag
52+
53+
## 📝 Manual Beta Release (Alternative)
54+
55+
If you prefer manual control:
56+
57+
```bash
58+
# On beta branch
59+
git checkout beta
60+
61+
# Enter prerelease mode (first time only)
62+
pnpm changeset pre enter beta
63+
64+
# Create changesets
65+
pnpm changeset
66+
67+
# Version packages
68+
pnpm version
69+
70+
# Commit version changes
71+
git add .
72+
git commit -m "chore: version packages (beta)"
73+
git push
74+
75+
# Publish to npm
76+
pnpm release
77+
```
78+
79+
## 🔄 Continuous Beta Releases
80+
81+
While on the `beta` branch, you can continue making changes:
82+
83+
```bash
84+
# Make more changes
85+
# ... edit code ...
86+
87+
# Create another changeset
88+
pnpm changeset
89+
90+
# Push to trigger versioning
91+
git push origin beta
92+
```
93+
94+
Each release will increment the beta number: `0.2.1-beta.0``0.2.1-beta.1``0.2.1-beta.2`, etc.
95+
96+
## ✅ Promoting Beta to Stable
97+
98+
When beta testing is complete and you're ready for a stable release:
99+
100+
### Option 1: Merge Beta to Main (Recommended)
101+
102+
```bash
103+
# Switch to main and merge beta
104+
git checkout main
105+
git pull origin main
106+
git merge beta
107+
108+
# Exit prerelease mode
109+
pnpm changeset pre exit
110+
111+
# Commit the pre.json removal
112+
git add .changeset/pre.json
113+
git commit -m "chore: exit prerelease mode"
114+
115+
# Push to main (triggers stable release workflow)
116+
git push origin main
117+
```
118+
119+
The stable release workflow will:
120+
- Version packages as stable (e.g., `0.2.1`)
121+
- Publish to npm with `@latest` tag
122+
123+
### Option 2: Cherry-pick Changes
124+
125+
If you only want specific changes from beta:
126+
127+
```bash
128+
git checkout main
129+
git cherry-pick <commit-hash>
130+
# ... resolve any conflicts ...
131+
git push origin main
132+
```
133+
134+
## 📦 Installing Beta Versions
135+
136+
Users can install beta versions:
137+
138+
```bash
139+
# Install latest beta
140+
npm install mcp-use@beta
141+
npm install @mcp-use/cli@beta
142+
143+
# Install specific beta version
144+
npm install [email protected]
145+
```
146+
147+
## 🔍 Checking Beta Releases
148+
149+
View published versions and tags:
150+
151+
```bash
152+
# See all versions
153+
npm view mcp-use versions
154+
155+
# See dist-tags
156+
npm view mcp-use dist-tags
157+
# {
158+
# latest: '0.2.0',
159+
# beta: '0.2.1-beta.0'
160+
# }
161+
```
162+
163+
## 🛠️ Workflow Features
164+
165+
The `release-beta.yml` workflow includes:
166+
167+
- ✅ Automatic prerelease mode entry
168+
- ✅ Version PR creation
169+
- ✅ Automatic publishing on merge
170+
- ✅ Comment on commits with published versions
171+
- ✅ Manual trigger via GitHub UI (workflow_dispatch)
172+
173+
## 🔧 Manual Trigger
174+
175+
You can manually trigger a beta release from GitHub:
176+
177+
1. Go to **Actions** tab
178+
2. Select **Release Beta** workflow
179+
3. Click **Run workflow**
180+
4. Select `beta` branch
181+
5. Click **Run workflow** button
182+
183+
## 📋 Best Practices
184+
185+
1. **Keep beta branch up to date with main**
186+
```bash
187+
git checkout beta
188+
git merge main
189+
git push
190+
```
191+
192+
2. **Create meaningful changesets**
193+
- Describe what changed from a user's perspective
194+
- Mark breaking changes clearly
195+
196+
3. **Test beta versions thoroughly**
197+
- Install beta versions in test projects
198+
- Verify all packages work together
199+
- Check for breaking changes
200+
201+
4. **Clean up after stable release**
202+
```bash
203+
# After merging to main and releasing stable
204+
git checkout beta
205+
git merge main # Sync beta with main
206+
git push
207+
```
208+
209+
## 🐛 Troubleshooting
210+
211+
### "Already in prerelease mode" Error
212+
213+
The workflow handles this automatically, but if you see this message, it means `.changeset/pre.json` already exists. This is normal and expected.
214+
215+
### Beta Branch Out of Sync
216+
217+
```bash
218+
# Reset beta branch to match a starting point
219+
git checkout beta
220+
git reset --hard main # or feat/your-feature
221+
git push --force origin beta
222+
```
223+
224+
### Want to Start Fresh
225+
226+
```bash
227+
# Exit prerelease mode
228+
pnpm changeset pre exit
229+
230+
# Remove all pending changesets
231+
rm -rf .changeset/*.md
232+
233+
# Commit changes
234+
git add .
235+
git commit -m "chore: reset changesets"
236+
git push
237+
```
238+
239+
### Workflow Not Triggering
240+
241+
Check:
242+
1. Branch name is exactly `beta`
243+
2. You have changesets in `.changeset/*.md`
244+
3. GitHub Actions is enabled in your repository
245+
4. `NPM_TOKEN` secret is configured in GitHub Settings
246+
247+
## 📚 Resources
248+
249+
- [Changesets Prerelease Documentation](https://github.com/changesets/changesets/blob/main/docs/prereleases.md)
250+
- [Main Release Workflow](./VERSIONING.md)
251+
- [Changeset Workflow Guide](./CHANGESET_WORKFLOW.md)
252+

0 commit comments

Comments
 (0)