Skip to content
This repository was archived by the owner on Nov 1, 2025. It is now read-only.

Commit da12456

Browse files
committed
add renovate
1 parent 6da9a6f commit da12456

File tree

6 files changed

+456
-0
lines changed

6 files changed

+456
-0
lines changed

.github/DEPENDENCY_UPDATES.md

Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
# Automated Dependency Updates
2+
3+
This repository uses **Renovate Bot** to automatically keep @inkeep packages up to date.
4+
5+
## 🚀 Quick Setup
6+
7+
1. **Install Renovate App**: Visit https://github.com/apps/renovate and install it on this repository
8+
2. **Merge Onboarding PR**: Renovate will create an onboarding PR - review and merge it
9+
3. **Done!** Renovate will now automatically create PRs when new @inkeep packages are published
10+
11+
The configuration is already set up in `.github/renovate.json`.
12+
13+
## 🤖 How It Works
14+
15+
Renovate automatically:
16+
- ✅ Detects new versions of @inkeep packages
17+
- ✅ Groups minor/patch updates into a single PR
18+
- ✅ Separates major updates (breaking changes) into dedicated PRs with warnings
19+
- ✅ Includes semantic versioning information in PR descriptions
20+
- ✅ Runs during business hours (9am-5pm PT weekdays)
21+
- ✅ Works seamlessly with pnpm workspaces
22+
23+
### What PRs Look Like
24+
25+
**Regular Updates (minor/patch):**
26+
```
27+
Title: chore(deps): Update @inkeep packages
28+
29+
Body:
30+
🤖 This PR updates all @inkeep packages to their latest versions.
31+
32+
Updated Packages:
33+
- @inkeep/agents-core: 0.12.1 → 0.12.2
34+
- @inkeep/agents-sdk: 0.12.1 → 0.12.2
35+
...
36+
```
37+
38+
**Major Updates (breaking changes):**
39+
```
40+
Title: chore(deps): Update @inkeep packages (major)
41+
42+
Body:
43+
⚠️ Major Version Update - This may contain breaking changes!
44+
Please carefully review the changelog before merging.
45+
```
46+
47+
## ⚙️ Customization
48+
49+
All configuration is in `.github/renovate.json`. Here are common customizations:
50+
51+
### Change Schedule
52+
53+
```json
54+
{
55+
"schedule": ["after 10pm every weekday"]
56+
}
57+
```
58+
59+
**Options:** `"at any time"`, `"after 10pm every weekday"`, `"on friday"`, `"every weekend"`
60+
61+
### Enable Auto-merge for Patches
62+
63+
```json
64+
{
65+
"packageRules": [
66+
{
67+
"matchPackagePatterns": ["^@inkeep/"],
68+
"matchUpdateTypes": ["patch"],
69+
"automerge": true
70+
}
71+
]
72+
}
73+
```
74+
75+
### Add Required Reviewers
76+
77+
```json
78+
{
79+
"packageRules": [
80+
{
81+
"matchPackagePatterns": ["^@inkeep/"],
82+
"reviewers": ["your-github-username"],
83+
"assignees": ["your-github-username"]
84+
}
85+
]
86+
}
87+
```
88+
89+
### Exclude Specific Packages
90+
91+
```json
92+
{
93+
"packageRules": [
94+
{
95+
"matchPackageNames": ["@inkeep/package-to-exclude"],
96+
"enabled": false
97+
}
98+
]
99+
}
100+
```
101+
102+
## 🛠️ Troubleshooting
103+
104+
**Renovate not creating PRs?**
105+
- Ensure the Renovate app is installed: https://github.com/apps/renovate
106+
- Check **Dependency Graph****Renovate** for logs
107+
- Verify config with: `npx renovate-config-validator .github/renovate.json`
108+
109+
**Manually trigger Renovate:**
110+
Go to **Dependency Graph****Renovate****"Check for updates"**
111+
112+
## 📚 Resources
113+
114+
- [Renovate Documentation](https://docs.renovatebot.com/)
115+
- [Configuration Options](https://docs.renovatebot.com/configuration-options/)
116+

.github/SETUP_GUIDE.md

Lines changed: 128 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,128 @@
1+
# 🚀 Quick Setup Guide for Automated Dependency Updates
2+
3+
Follow these steps to enable automated @inkeep package updates using Renovate Bot.
4+
5+
## Step 1: Install Renovate App
6+
7+
1. Visit https://github.com/apps/renovate
8+
2. Click **"Install"** or **"Configure"** if already installed
9+
3. Select **"Only select repositories"** and choose: `inkeep/create-agents-template`
10+
4. Click **"Install"** or **"Save"**
11+
12+
## Step 2: Verify Installation
13+
14+
Within a few minutes, Renovate will:
15+
- Scan your repository for dependencies
16+
- Create an onboarding PR (if this is the first time)
17+
- Start monitoring for @inkeep package updates
18+
19+
## Step 3: Merge Onboarding PR
20+
21+
1. Review the onboarding PR created by Renovate
22+
2. Merge it to activate Renovate
23+
24+
## Step 4: Test It Works
25+
26+
You can manually trigger Renovate by:
27+
1. Going to the **Dependency Graph** section in your repo
28+
2. Clicking **"Renovate"** in the sidebar
29+
3. Viewing the logs or clicking **"Check for updates"**
30+
31+
## 📝 What Happens Next?
32+
33+
### For Minor/Patch Updates
34+
35+
When new versions are released (e.g., 0.12.1 → 0.12.2):
36+
37+
1. Renovate or GitHub Actions detects the update
38+
2. A PR is automatically created with:
39+
- Updated package.json files
40+
- Updated pnpm-lock.yaml
41+
- List of changes
42+
- Links to changelogs
43+
3. Review the PR
44+
4. Run tests (if configured)
45+
5. Merge when ready
46+
47+
### For Major Updates
48+
49+
When breaking changes are released (e.g., 0.12.0 → 1.0.0):
50+
51+
1. A **separate** PR is created labeled with `major-update`
52+
2. The PR includes warnings about potential breaking changes
53+
3. Review carefully:
54+
- Check the changelog for breaking changes
55+
- Look for migration guides
56+
- Test thoroughly in a staging environment
57+
4. Merge only after thorough testing
58+
59+
## 🔧 Customization
60+
61+
### Change Update Schedule
62+
63+
Edit `.github/renovate.json`:
64+
65+
```json
66+
{
67+
"schedule": ["after 10pm every weekday"]
68+
}
69+
```
70+
71+
Options:
72+
- `"at any time"` - As soon as updates are available
73+
- `"after 10pm every weekday"` - Only evenings
74+
- `"on friday"` - Once a week
75+
- `"every weekend"` - Saturdays and Sundays
76+
77+
### Enable Auto-merge (for patch updates only)
78+
79+
Add to `.github/renovate.json`:
80+
81+
```json
82+
{
83+
"packageRules": [
84+
{
85+
"matchPackagePatterns": ["^@inkeep/"],
86+
"matchUpdateTypes": ["patch"],
87+
"automerge": true
88+
}
89+
]
90+
}
91+
```
92+
93+
### Add Required Reviewers
94+
95+
Edit `.github/renovate.json`:
96+
97+
```json
98+
{
99+
"packageRules": [
100+
{
101+
"matchPackagePatterns": ["^@inkeep/"],
102+
"reviewers": ["your-github-username"]
103+
}
104+
]
105+
}
106+
```
107+
108+
## ✅ Verification Checklist
109+
110+
- [ ] Renovate app installed on repository
111+
- [ ] Onboarding PR merged
112+
- [ ] Configuration validated (check Actions tab for validation workflow)
113+
- [ ] Labels created (`dependencies`, `inkeep-packages`, `major-update`)
114+
- [ ] Test that Renovate can be manually triggered
115+
- [ ] First update PR received and reviewed
116+
117+
## 🆘 Need Help?
118+
119+
- **Renovate not creating PRs?** Check the [troubleshooting guide](DEPENDENCY_UPDATES.md#-troubleshooting)
120+
- **Want to customize behavior?** See the [full documentation](DEPENDENCY_UPDATES.md)
121+
- **Configuration issues?** The validation workflow will check your config automatically
122+
123+
## 📚 Additional Resources
124+
125+
- [Renovate Documentation](https://docs.renovatebot.com/)
126+
- [Renovate Configuration Options](https://docs.renovatebot.com/configuration-options/)
127+
- [GitHub Actions Documentation](https://docs.github.com/en/actions)
128+

.github/renovate.json

Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
1+
{
2+
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
3+
"extends": ["config:recommended"],
4+
"timezone": "America/Los_Angeles",
5+
"schedule": ["after 9am and before 5pm every weekday"],
6+
"prConcurrentLimit": 10,
7+
"prHourlyLimit": 0,
8+
"separateMinorPatch": false,
9+
"separateMajorMinor": true,
10+
"packageRules": [
11+
{
12+
"description": "Group all @inkeep package updates together",
13+
"groupName": "@inkeep packages",
14+
"matchPackagePatterns": ["^@inkeep/"],
15+
"automerge": false,
16+
"rangeStrategy": "bump",
17+
"semanticCommits": "enabled",
18+
"semanticCommitType": "chore",
19+
"semanticCommitScope": "deps",
20+
"prCreation": "immediate",
21+
"schedule": ["at any time"],
22+
"enabled": true,
23+
"commitMessageTopic": "@inkeep packages",
24+
"labels": ["dependencies", "inkeep-packages"],
25+
"reviewers": [],
26+
"assignees": [],
27+
"addLabels": ["automated"],
28+
"prBodyColumns": ["Package", "Change", "Type"],
29+
"prBodyDefinitions": {
30+
"Change": "{{#if displayFrom}}`{{{displayFrom}}}` -> `{{{displayTo}}}`{{else}}`{{{displayTo}}}`{{/if}}",
31+
"Type": "{{updateType}}"
32+
},
33+
"prBodyNotes": [
34+
"🤖 This PR updates all @inkeep packages to their latest versions.",
35+
"",
36+
"Since these packages are published with changesets, semantic versioning is followed:",
37+
"- **Major** updates (X.0.0) may contain breaking changes",
38+
"- **Minor** updates (0.X.0) add new features in a backward-compatible manner",
39+
"- **Patch** updates (0.0.X) include backward-compatible bug fixes",
40+
"",
41+
"Please review the changelog for each package before merging."
42+
]
43+
},
44+
{
45+
"description": "Separate major updates for @inkeep packages",
46+
"matchPackagePatterns": ["^@inkeep/"],
47+
"matchUpdateTypes": ["major"],
48+
"groupName": "@inkeep packages (major)",
49+
"labels": ["dependencies", "inkeep-packages", "major-update"],
50+
"prBodyNotes": [
51+
"⚠️ **Major Version Update** - This may contain breaking changes!",
52+
"",
53+
"Please carefully review:",
54+
"1. The changelog for breaking changes",
55+
"2. Migration guides (if provided)",
56+
"3. Test the changes thoroughly before merging",
57+
"",
58+
"Consider updating in a separate PR and testing in a staging environment first."
59+
]
60+
}
61+
],
62+
"lockFileMaintenance": {
63+
"enabled": true,
64+
"automerge": true,
65+
"schedule": ["before 5am on monday"]
66+
},
67+
"vulnerabilityAlerts": {
68+
"enabled": true,
69+
"labels": ["security"],
70+
"automerge": false
71+
}
72+
}

0 commit comments

Comments
 (0)