Skip to content
Closed
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions .github/workflows/update-docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,11 @@ on:
- main
paths:
- 'plugins/**'
- '.claude-plugin/marketplace.json'

concurrency:
group: update-docs
cancel-in-progress: true

jobs:
update-docs:
Expand Down Expand Up @@ -34,6 +39,7 @@ jobs:
skillsaw docs -o docs/ --theme crimson-red

- name: Create Pull Request
id: create-pr
uses: peter-evans/create-pull-request@5f6978faf089d4d20b00c7766989d076bb2fc7f1 # v8.1.1
with:
token: ${{ secrets.GITHUB_TOKEN }}
Expand All @@ -50,3 +56,14 @@ jobs:
add-paths: |
docs/
.claude-plugin/marketplace.json

- name: Enable auto-merge if only docs changed
if: steps.create-pr.outputs.pull-request-number
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
PR_NUMBER="${{ steps.create-pr.outputs.pull-request-number }}"
FILES_CHANGED=$(gh pr diff "$PR_NUMBER" --name-only)
if [ "$FILES_CHANGED" = "docs/index.html" ]; then
gh pr merge "$PR_NUMBER" --auto --squash
fi
1 change: 0 additions & 1 deletion .skillsaw.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -91,7 +91,6 @@ rules:

# Load custom rules from these files
custom-rules:
- ".skillsaw/plugindocs_rule.py"
- ".skillsaw/owners_rule.py"
- ".skillsaw/promptfoo_budget_rule.py"

Expand Down
94 changes: 0 additions & 94 deletions .skillsaw/plugindocs_rule.py

This file was deleted.

2 changes: 1 addition & 1 deletion AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ Canonical example: `plugins/hello-world/`
|---------|------|
| `make lint` | Before every commit — validates structure, format, and marketplace registration |
| Bump `version` in `plugin.json` | When modifying plugin commands or skills (not README-only changes) |
| `make update` | After version bumps — syncs marketplace.json and regenerates docs |
| `make update` | After version bumps — syncs marketplace.json (docs are auto-generated by CI) |

## Contributing Rules

Expand Down
7 changes: 3 additions & 4 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Thank you for your interest in contributing to the ai-helpers plugin marketplace
3. Add at least one command in `commands/`
4. Add an `OWNERS` file listing approvers and reviewers for your plugin
5. Register your plugin in `.claude-plugin/marketplace.json`
6. Run `make lint` to validate, then `make update` to regenerate docs
6. Run `make lint` to validate

### OWNERS File

Expand Down Expand Up @@ -49,8 +49,7 @@ If your PR modifies plugin code (commands, skills, hooks, or plugin.json), you *
3. Make your changes
4. Bump the version in `plugin.json` if modifying plugin code
5. Run `make lint` to validate plugin structure
6. Run `make update` to regenerate docs
7. Submit a PR
6. Submit a PR

Comment thread
coderabbitai[bot] marked this conversation as resolved.
Resolved
### Testing locally

Expand All @@ -66,7 +65,7 @@ You can test plugins locally before submitting:
The following files are auto-generated and should **not** be edited manually:
- `docs/index.html`

These are regenerated by running `make update` which uses `skillsaw docs`.
Documentation is automatically regenerated by CI when plugin changes are merged to `main`.

## Command Frontmatter

Expand Down
6 changes: 4 additions & 2 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -28,12 +28,14 @@ lint-pull: ## Pull the latest skillsaw image
$(CONTAINER_RUNTIME) pull $(SKILLSAW_IMAGE)

.PHONY: update
update: ## Update plugin documentation and website data
update: ## Fix frontmatter and sync marketplace versions
@echo "Fixing frontmatter quotes, if any..."
@python3 scripts/fix_frontmatter_quotes.py
@echo "Syncing marketplace versions..."
@python3 scripts/sync_marketplace_versions.py
@echo "Generating docs..."

.PHONY: docs
docs: ## Preview generated documentation locally
$(CONTAINER_RUNTIME) run --rm --platform linux/amd64 $(SELINUX_OPT) -v $(PWD):/workspace:Z --entrypoint skillsaw $(SKILLSAW_IMAGE) docs -o docs/ --theme crimson-red

EVAL_REPEAT ?= 1
Expand Down