- Automatically closes issues when referenced PR is merged
- Adds comment to issue specifying which PR caused closure
- Supports keywords: Fixes, Closes, Resolves (case-insensitive)
- Extracts issue numbers from both PR title and body
* feat(blog): add Ralph autonomous agent loop tutorial for solopreneurs
Add comprehensive tutorial on using Ralph, an autonomous AI agent loop with 7.9k GitHub stars, to build MVPs automatically. Includes real case study (SaaS dashboard in 24 hours), OPC Skills integration, step-by-step setup guide, and 10 GEO-optimized FAQ questions.
* feat(scripts): add blog validation and creation tools
Add comprehensive blog post management tools:
- create-blog.py: Validate, check, and create blog posts
- BLOG_GUIDELINES.md: Complete documentation for blog best practices
Features:
- Validate blog.json structure and required fields
- Check markdown content quality (word count, headings, links)
- Detect missing SEO/GEO optimization (keywords, FAQs, citations)
- Create new blog post templates interactively
* feat(workflows): add fast-track blog publishing with auto-merge
Add automated blog publishing workflow to reduce time-to-live from 2+ days to 6 minutes:
New workflow:
- PR directly to main with 'blog-post' label
- Auto-validates blog.json and markdown
- Auto-approves and auto-merges if validation passes
- Deploys to Cloudflare Workers automatically
Documentation:
- BLOG_PUBLISHING.md: Complete guide with 5 different publishing strategies
- Comparison of workflows (Git Flow vs Fast-Track)
- Implementation checklist and usage examples
This allows blog posts to bypass develop branch while maintaining quality through automated validation.
- Add scripts/fetch-install-stats.py to scrape install counts
- Add GitHub Action to run daily and update install-stats.json
- Update worker.js to show install count badges on skill cards and detail pages
- Generate initial install-stats.json
Closes#12
- Fixed jq query to correctly extract dependency names from object format
Changed: keys[]? | .[] (which extracted version values)
To: select(.dependencies | type == "object") | .dependencies | keys[]
- Added explicit 'shell: bash' for test jobs on Windows
Windows runners default to PowerShell which can't execute Bash syntax
This ensures bash is used for all test steps regardless of OS
Changed validation script to handle new object-based dependency format
(from array to {dependency: version} format) while maintaining
backwards compatibility with legacy array format.
Previous format: "dependencies": ["twitter", "reddit"]
New format: "dependencies": {"twitter": ">=1.0.0", "reddit": ">=1.0.0"}