Skip to content

Commit 3c1c268

Browse files
committed
docs: add GitHub release setup instructions for v1.0.0
Created comprehensive guide for repository maintainers covering: - Enabling template repository (Task 17) - Adding GitHub topics (Task 18) - Creating v1.0.0 release (Task 20) - Post-release checklist and troubleshooting Includes step-by-step instructions for GitHub UI tasks and alternative CLI/API approaches where applicable.
1 parent 153fe47 commit 3c1c268

File tree

1 file changed

+330
-0
lines changed

1 file changed

+330
-0
lines changed

docs/RELEASE-SETUP.md

Lines changed: 330 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,330 @@
1+
---
2+
title: GitHub Release Setup Instructions
3+
description: Step-by-step instructions for configuring the repository as a GitHub template and creating the v1.0.0 release
4+
category: Documentation
5+
type: Guide
6+
audience: Repository Maintainers
7+
date: 2024-12-10
8+
---
9+
10+
# GitHub Release Setup Instructions
11+
12+
This document provides step-by-step instructions for completing the v1.0.0 release setup tasks that require GitHub UI access.
13+
14+
## Prerequisites
15+
16+
✅ Completed:
17+
- [x] Text domain fixes committed (474 instances replaced)
18+
- [x] `.github/template-repository-settings.json` created
19+
- [x] `CHANGELOG.md` created with full v1.0.0 release notes
20+
- [x] All code changes committed and pushed to main branch
21+
22+
## Task 17: Enable Template Repository
23+
24+
### Steps:
25+
26+
1. **Navigate to Repository Settings**
27+
- Go to: https://github.com/lightspeedwp/multi-block-plugin-scaffold
28+
- Click "Settings" tab (requires admin permissions)
29+
30+
2. **Enable Template Repository**
31+
- Scroll to "Template repository" section
32+
- Check ☑️ "Template repository" checkbox
33+
- This allows users to click "Use this template" button
34+
35+
3. **Verify Template Status**
36+
- Return to repository main page
37+
- Confirm green "Use this template" button appears
38+
- Test button leads to template generation workflow
39+
40+
### Expected Result:
41+
✅ Repository shows "Use this template" button on main page
42+
✅ Users can generate new repositories from this template
43+
44+
### Notes:
45+
- Requires repository to be public
46+
- Requires admin/owner permissions
47+
- Setting is applied immediately
48+
49+
---
50+
51+
## Task 18: Add GitHub Topics
52+
53+
### Steps:
54+
55+
1. **Navigate to Repository Main Page**
56+
- Go to: https://github.com/lightspeedwp/multi-block-plugin-scaffold
57+
58+
2. **Click "About" Settings (Gear Icon)**
59+
- Located in right sidebar above "About" section
60+
- Click gear/cog icon ⚙️
61+
62+
3. **Add Topics**
63+
Add the following topics (comma-separated or one at a time):
64+
```
65+
wordpress
66+
wordpress-plugin
67+
gutenberg
68+
blocks
69+
block-plugin
70+
scaffold
71+
generator
72+
plugin-template
73+
gutenberg-blocks
74+
wordpress-blocks
75+
wordpress-development
76+
block-editor
77+
mustache-templates
78+
plugin-scaffold
79+
lightspeed
80+
```
81+
82+
4. **Update Description**
83+
Ensure description reads:
84+
```
85+
WordPress plugin scaffold with multi-block architecture, dual-mode generator, and comprehensive development tools
86+
```
87+
88+
5. **Add Website URL** (optional but recommended)
89+
```
90+
https://github.com/lightspeedwp/multi-block-plugin-scaffold
91+
```
92+
93+
6. **Save Changes**
94+
- Click "Save changes" button
95+
96+
### Expected Result:
97+
✅ Topics appear as badges below repository description
98+
✅ Repository is discoverable via topic searches
99+
✅ Improved SEO and discoverability on GitHub
100+
101+
### Alternative Method (GitHub API):
102+
103+
If you prefer CLI/API approach:
104+
105+
```bash
106+
curl -X PATCH \
107+
-H "Accept: application/vnd.github+json" \
108+
-H "Authorization: Bearer YOUR_GITHUB_TOKEN" \
109+
https://api.github.com/repos/lightspeedwp/multi-block-plugin-scaffold \
110+
-d '{
111+
"description": "WordPress plugin scaffold with multi-block architecture, dual-mode generator, and comprehensive development tools",
112+
"topics": ["wordpress", "wordpress-plugin", "gutenberg", "blocks", "block-plugin", "scaffold", "generator", "plugin-template", "gutenberg-blocks", "wordpress-blocks", "wordpress-development", "block-editor", "mustache-templates", "plugin-scaffold", "lightspeed"]
113+
}'
114+
```
115+
116+
---
117+
118+
## Task 20: Create v1.0.0 Release
119+
120+
### Prerequisites:
121+
- ✅ All changes committed
122+
- ✅ All changes pushed to main branch
123+
- ✅ CHANGELOG.md complete
124+
- ✅ Template repository enabled
125+
- ✅ Topics added
126+
127+
### Steps:
128+
129+
#### 1. Create Git Tag
130+
131+
```bash
132+
# Ensure you're on main branch with latest changes
133+
git checkout main
134+
git pull origin main
135+
136+
# Create annotated tag
137+
git tag -a v1.0.0 -m "Release v1.0.0: Multi-Block Plugin Scaffold
138+
139+
Initial release with dual-mode generator, mustache templating, and comprehensive development infrastructure."
140+
141+
# Push tag to GitHub
142+
git push origin v1.0.0
143+
```
144+
145+
#### 2. Create GitHub Release
146+
147+
1. **Navigate to Releases**
148+
- Go to: https://github.com/lightspeedwp/multi-block-plugin-scaffold/releases
149+
- Click "Draft a new release"
150+
151+
2. **Configure Release**
152+
- **Choose a tag**: Select `v1.0.0` (just created)
153+
- **Release title**: `v1.0.0: Multi-Block Plugin Scaffold`
154+
- **Target**: `main` branch
155+
156+
3. **Add Release Notes**
157+
Copy content from `CHANGELOG.md` v1.0.0 section, or use the following:
158+
159+
```markdown
160+
## 🎉 Initial Release: Multi-Block Plugin Scaffold
161+
162+
A comprehensive WordPress plugin scaffold with dual-mode generation, mustache templating, and complete development infrastructure.
163+
164+
### ✨ Key Features
165+
166+
#### Core Generator System
167+
- **Dual-mode generator**: Template mode (`--in-place`) or output folder mode
168+
- **Mustache templating**: 6 transformation filters for flexible plugin generation
169+
- **Schema validation**: JSON Schema validation for plugin configuration
170+
- **CLI interface**: JSON mode for programmatic generation
171+
172+
#### Example Blocks
173+
- Card Block - Single item display with custom fields
174+
- Collection Block - Grid/list with pagination and filtering
175+
- Slider Block - Responsive carousel with autoplay
176+
- Featured Block - Highlighted items with custom layouts
177+
178+
#### Development Tools
179+
- **130 unit tests** across 7 test suites
180+
- **Complete linting**: ESLint, Stylelint, PHPCS, PHPStan
181+
- **Build system**: Webpack 5, Babel, PostCSS
182+
- **Local environment**: wp-env integration
183+
- **Pre-commit hooks**: Husky for code quality
184+
185+
#### Architecture
186+
- Custom post type and taxonomy scaffolding
187+
- Secure Custom Fields integration with local JSON
188+
- Block patterns (7 pre-built)
189+
- Block templates with automatic assignment
190+
- Repeater fields with nested data
191+
- Block bindings API (WordPress 6.5+)
192+
193+
### 📚 Documentation
194+
195+
15 comprehensive documentation files:
196+
- [GENERATE-PLUGIN.md](https://github.com/lightspeedwp/multi-block-plugin-scaffold/blob/main/docs/GENERATE-PLUGIN.md) - Complete generation guide
197+
- [ARCHITECTURE.md](https://github.com/lightspeedwp/multi-block-plugin-scaffold/blob/main/docs/ARCHITECTURE.md) - Repository structure
198+
- [TESTING.md](https://github.com/lightspeedwp/multi-block-plugin-scaffold/blob/main/docs/TESTING.md) - Testing strategies
199+
- [Full documentation index](https://github.com/lightspeedwp/multi-block-plugin-scaffold/blob/main/docs/README.md)
200+
201+
### 🚀 Getting Started
202+
203+
#### Use as Template
204+
1. Click "Use this template" button
205+
2. Create your repository
206+
3. Clone locally
207+
4. Run `npm install && composer install`
208+
5. Generate plugin: `node scripts/generate-plugin.js --in-place`
209+
210+
#### Generate Plugin
211+
```bash
212+
# Clone scaffold
213+
git clone https://github.com/lightspeedwp/multi-block-plugin-scaffold.git
214+
cd multi-block-plugin-scaffold
215+
216+
# Generate plugin (output to generated-plugins/)
217+
node scripts/generate-plugin.js
218+
```
219+
220+
### 📋 Requirements
221+
222+
- WordPress 6.5+
223+
- PHP 8.0+
224+
- Node.js 18+
225+
226+
### 🔧 Technical Details
227+
228+
- **474 text domain instances** standardized to mustache templates
229+
- **0 circular dependencies** (verified with madge)
230+
- **Webpack 5** with optimized production builds
231+
- **Secure Custom Fields** integration with all field types
232+
233+
### 📝 Full Changelog
234+
235+
See [CHANGELOG.md](https://github.com/lightspeedwp/multi-block-plugin-scaffold/blob/main/CHANGELOG.md) for complete details.
236+
237+
### 🙏 Credits
238+
239+
Developed by [LightSpeed](https://lightspeedwp.agency) for the WordPress community.
240+
241+
### 📄 License
242+
243+
GPL-3.0-or-later - See [LICENSE](https://github.com/lightspeedwp/multi-block-plugin-scaffold/blob/main/LICENSE)
244+
```
245+
246+
4. **Release Options**
247+
- ☑️ Check "Set as the latest release"
248+
- ☐ Leave "Set as a pre-release" unchecked
249+
- ☐ Leave "Create a discussion for this release" unchecked (optional)
250+
251+
5. **Publish Release**
252+
- Click "Publish release" button
253+
254+
### Expected Result:
255+
✅ v1.0.0 release appears on releases page
256+
✅ Release shows up in repository sidebar
257+
✅ Release is marked as "Latest"
258+
✅ Tag v1.0.0 exists in repository
259+
✅ Users can download source code ZIP/tarball
260+
261+
### Verification:
262+
263+
1. Check release page: https://github.com/lightspeedwp/multi-block-plugin-scaffold/releases
264+
2. Verify tag exists: `git tag -l`
265+
3. Check release is latest: Repository sidebar shows "v1.0.0"
266+
4. Test download links work
267+
268+
---
269+
270+
## Post-Release Checklist
271+
272+
After completing all tasks:
273+
274+
- [ ] Template repository enabled and working
275+
- [ ] All topics added and visible
276+
- [ ] v1.0.0 release published
277+
- [ ] Release shows "Latest" badge
278+
- [ ] "Use this template" button works
279+
- [ ] Repository appears in topic searches
280+
- [ ] All documentation links work
281+
- [ ] CHANGELOG.md accurate
282+
283+
---
284+
285+
## Troubleshooting
286+
287+
### Issue: "Use this template" button not appearing
288+
**Solution**: Ensure repository is public and template repository setting is enabled
289+
290+
### Issue: Topics not saving
291+
**Solution**: GitHub limits to 20 topics. Our list has 15, so this shouldn't be an issue. Remove least important if needed.
292+
293+
### Issue: Tag already exists
294+
**Solution**: Delete tag locally and remotely, then recreate:
295+
```bash
296+
git tag -d v1.0.0
297+
git push origin :refs/tags/v1.0.0
298+
# Then recreate tag
299+
```
300+
301+
### Issue: Release notes formatting issues
302+
**Solution**: Preview release notes before publishing. Use Markdown preview.
303+
304+
---
305+
306+
## Next Steps After Release
307+
308+
1. **Announce Release**
309+
- Share on WordPress community channels
310+
- Post to relevant social media
311+
- Update any related documentation
312+
313+
2. **Monitor Issues**
314+
- Watch for user feedback
315+
- Address any bug reports quickly
316+
- Update documentation as needed
317+
318+
3. **Plan v1.1.0**
319+
- Review pending feature requests
320+
- Plan next milestone
321+
- Update project board
322+
323+
---
324+
325+
## Support
326+
327+
For questions or issues with release setup:
328+
- Open an issue: https://github.com/lightspeedwp/multi-block-plugin-scaffold/issues
329+
- Check documentation: https://github.com/lightspeedwp/multi-block-plugin-scaffold/tree/main/docs
330+

0 commit comments

Comments
 (0)