docs(php-backend-sdlc): comprehensive cross-linked README + GitHub wiki - #11
docs(php-backend-sdlc): comprehensive cross-linked README + GitHub wiki#11dmytrocraft wants to merge 6 commits into
Conversation
Add an engineer-grade documentation set for the php-backend-sdlc plugin across two surfaces, fully cross-linked, closing #10. - Wiki (plugins/php-backend-sdlc/wiki/, 18 pages + _Sidebar + _Footer): Home, Getting-Started, Concepts-and-Glossary, Architecture, The-SDLC-Loop, Commands (8), Agents (7), Skills (22 + 2 meta-guides), Project-Profile, Security-Audit, Review-and-Quality-Gates, Publishing-PR-Comments, Degrade-and-Resilience, Permissions, Testing-and-Validation, Troubleshooting, FAQ, Contributing-and-Releases. - README: expanded plugin README + root README now link the wiki. - scripts/publish-wiki.sh: mirror the in-repo wiki source to the GitHub wiki remote (documents the one-time UI seed; --dry-run; shellcheck-clean). - BMAD planning bundle under specs/php-backend-sdlc-docs/ (brief, prd, information-architecture, epics) drove a parallel subagent authoring loop + a two-round review loop (accuracy vs source, structure, link integrity, clarity) to convergence. Verified: markdownlint-cli2 0 errors over 97 files; every internal sibling link and repo blob URL resolves; counts grounded in source (8/7/22+2). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Qodo reviews are paused for this user.Troubleshooting steps vary by plan Learn more → On a Teams plan? Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center? |
📝 WalkthroughWalkthroughAdds a comprehensive GitHub wiki for the Changesphp-backend-sdlc Wiki Documentation & Publish Script
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~25 minutes The only executable code change is Possibly related issues
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
…ist) Derive the wiki remote from the checkout's `origin` remote instead of hardcoding the org/repo, clearing the generalization denylist (NFR-2) that the prompt-lint / lint-selftest / generalization-audit gates flag on plugin scripts. WIKI_REMOTE still overrides. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
There was a problem hiding this comment.
Actionable comments posted: 6
🧹 Nitpick comments (1)
plugins/php-backend-sdlc/scripts/publish-wiki.sh (1)
62-62: 💤 Low valueHelp text extraction via sed is fragile.
The regex on line 62 parses the leading comment block by matching exact formatting (
/^# \{0,1\}//). If the comment block format drifts,--helpwill silently break or produce malformed output. Consider:
- Extracting help into a separate heredoc or variable for clarity and maintainability, or
- Adding a comment explaining the exact formatting constraint the regex depends on.
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@plugins/php-backend-sdlc/scripts/publish-wiki.sh` at line 62, The sed command on line 62 uses a fragile regex pattern to extract help text from the leading comment block, which will break silently if the comment formatting drifts. Replace this brittle sed-based extraction with either a separate heredoc variable containing the help text that can be displayed directly, or add a detailed inline comment documenting the exact formatting constraints that the regex pattern `/^# \{0,1\}//` depends on (including spacing rules and comment marker requirements). This will make the help text extraction more maintainable and prevent silent failures.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@plugins/php-backend-sdlc/README.md`:
- Around line 80-107: The README contains hardcoded VilnaCRM-Org organization
names in all wiki hyperlinks (lines 86, 91–107 in the Wiki section), which
violates the NFR-2 denylist. Replace all occurrences of the full VilnaCRM-Org
URLs in the wiki links with either a generalized placeholder like <org-name> and
add a note at the top of the README explaining that users should substitute
their own fork's organization name, or switch to relative/local paths pointing
to the in-repo wiki source files (such as wiki/Home.md relative references).
This keeps the section structure intact while removing the hardcoded
organization reference.
In `@plugins/php-backend-sdlc/scripts/publish-wiki.sh`:
- Line 8: Remove all hardcoded `VilnaCRM-Org` organization references across the
codebase to comply with NFR-2 generalization requirements. In
plugins/php-backend-sdlc/scripts/publish-wiki.sh (lines 8, 35, and 42), replace
the hardcoded GitHub URL in the header comment, the ENVIRONMENT documentation,
and the default WIKI_REMOTE value with a placeholder pattern or
environment-driven approach that supports the existing WIKI_REMOTE env var
override. In README.md (line 16), generalize the hardcoded wiki link in the
plugin table. In plugins/php-backend-sdlc/README.md (lines 86-107), replace all
hardcoded wiki links in the Documentation section with placeholder syntax like
`https://github.com/<org-name>/claude-plugins`. In
plugins/php-backend-sdlc/wiki/Home.md (lines 17-18), update the copy-paste
install command examples with placeholder syntax. In
plugins/php-backend-sdlc/wiki/Home.md (lines 97-108), generalize the repository
reference documentation links. In plugins/php-backend-sdlc/wiki/_Footer.md
(lines 3-6), replace hardcoded footer links that appear on every wiki page with
placeholders. In plugins/php-backend-sdlc/wiki/Concepts-and-Glossary.md (lines
45-47 and 84-86), generalize the skill file and BMAD definition links using the
same placeholder pattern. Ensure all placeholders follow a consistent format
(e.g., `<org-name>` or `<user-org>`) and add a note in README.md explaining how
users should substitute the placeholder with their own organization name when
forking the plugin.
In `@plugins/php-backend-sdlc/wiki/Concepts-and-Glossary.md`:
- Around line 44-48: Replace all hardcoded VilnaCRM-Org organization names in
GitHub URLs with the placeholder <org-name> throughout the
Concepts-and-Glossary.md file. At lines 44-48 (anchor location), update the URLs
in the links to AI-AGENT-GUIDE.md and SKILL-DECISION-GUIDE.md to use the
placeholder. At lines 82-106 (sibling locations), update the URL in the link to
bmad-autonomous-planning/SKILL.md and any other skill file GitHub references to
also use the <org-name> placeholder instead of the hardcoded organization name.
This ensures the glossary documentation can be used across different
organizations without requiring manual URL updates.
In `@plugins/php-backend-sdlc/wiki/Home.md`:
- Around line 14-19: In the Install section, replace the hardcoded organization
name `VilnaCRM-Org` in the marketplace add command and the hardcoded
`vilnacrm-plugins` handle in the install command with generalized placeholder
syntax using angle brackets (e.g., `<org-name>` and `<plugin-handle>`) to make
the examples applicable to any user's fork. Alternatively, add a note above the
commands explaining that users should substitute their own organization name and
plugin handle in place of the examples provided.
- Around line 93-109: The repository reference links in the "Repository
reference docs" section contain hardcoded GitHub organization name
`VilnaCRM-Org`, which violates NFR-2 generalization requirements and prevents
the documentation from being reused across different organization forks. Replace
all instances of `VilnaCRM-Org` in the links for setup-walkthrough.md,
profile-schema.md, sdlc-loop.md, permissions.md, degrade-matrix.md, and
release-process.md with a placeholder like `<org-name>`, or alternatively use
relative GitHub file URLs that do not require organization substitution and will
work correctly on any fork.
In `@specs/php-backend-sdlc-docs/product-brief.md`:
- Line 5: Update the skill count across four specification documents to reflect
the accurate count of 22 skills. In specs/php-backend-sdlc-docs/product-brief.md
at line 5, change "23 skills +" to "22 skills +". In
specs/php-backend-sdlc-docs/prd.md at line 22, change "All 23 skills +" to "All
22 skills +". In specs/php-backend-sdlc-docs/epics.md at line 11, change "23
skills +" to "22 skills +". In specs/php-backend-sdlc-docs/architecture.md at
line 36, change "All 23 skills +" to "All 22 skills +". This correction aligns
the documentation with the actual plugin structure which contains 22 skill
subdirectories.
---
Nitpick comments:
In `@plugins/php-backend-sdlc/scripts/publish-wiki.sh`:
- Line 62: The sed command on line 62 uses a fragile regex pattern to extract
help text from the leading comment block, which will break silently if the
comment formatting drifts. Replace this brittle sed-based extraction with either
a separate heredoc variable containing the help text that can be displayed
directly, or add a detailed inline comment documenting the exact formatting
constraints that the regex pattern `/^# \{0,1\}//` depends on (including spacing
rules and comment marker requirements). This will make the help text extraction
more maintainable and prevent silent failures.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: e3432430-c8ac-45cc-9fb3-392b0cb02de9
📒 Files selected for processing (27)
README.mdplugins/php-backend-sdlc/README.mdplugins/php-backend-sdlc/scripts/publish-wiki.shplugins/php-backend-sdlc/wiki/Agents.mdplugins/php-backend-sdlc/wiki/Architecture.mdplugins/php-backend-sdlc/wiki/Commands.mdplugins/php-backend-sdlc/wiki/Concepts-and-Glossary.mdplugins/php-backend-sdlc/wiki/Contributing-and-Releases.mdplugins/php-backend-sdlc/wiki/Degrade-and-Resilience.mdplugins/php-backend-sdlc/wiki/FAQ.mdplugins/php-backend-sdlc/wiki/Getting-Started.mdplugins/php-backend-sdlc/wiki/Home.mdplugins/php-backend-sdlc/wiki/Permissions.mdplugins/php-backend-sdlc/wiki/Project-Profile.mdplugins/php-backend-sdlc/wiki/Publishing-PR-Comments.mdplugins/php-backend-sdlc/wiki/Review-and-Quality-Gates.mdplugins/php-backend-sdlc/wiki/Security-Audit.mdplugins/php-backend-sdlc/wiki/Skills.mdplugins/php-backend-sdlc/wiki/Testing-and-Validation.mdplugins/php-backend-sdlc/wiki/The-SDLC-Loop.mdplugins/php-backend-sdlc/wiki/Troubleshooting.mdplugins/php-backend-sdlc/wiki/_Footer.mdplugins/php-backend-sdlc/wiki/_Sidebar.mdspecs/php-backend-sdlc-docs/architecture.mdspecs/php-backend-sdlc-docs/epics.mdspecs/php-backend-sdlc-docs/prd.mdspecs/php-backend-sdlc-docs/product-brief.md
There was a problem hiding this comment.
2 issues found and verified against the latest diff
Tip: cubic can generate docs of your entire codebase and keep them up to date. Try it here.
Re-trigger cubic
The shipped wiki was already corrected to 22 by the review loop; this syncs the specs/php-backend-sdlc-docs planning bundle (product-brief, prd, architecture, epics) to the verified count (22 skills + 2 meta-guides), per CodeRabbit's catch on PR #11. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
Thanks @coderabbitai — addressed: ✅ Skill count (Major, real). Corrected ❌ NFR-2 "denylist" blockers on README / wiki links — false positives. SCOPED_DIRS = ("skills", "commands", "agents", "scripts")with an explicit design note in that file:
So The only in-scope offender was |
|
Tip For best results, initiate chat on the files or code changes.
Skill count (23 → 22): Confirmed fixed, appreciated. NFR-2 false positive: You're right — the denylist scope of ✏️ Learnings added
|
The repo declares MIT in plugin.json but ships no LICENSE file, so the footer's /blob/main/LICENSE link 404s (cubic P3). Replace with plain text pointing at the manifest's license field. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
@coderabbitai review |
✅ Action performedReview finished.
|
GitHub wiki resolves page links by slug WITHOUT a .md suffix; the [Title](Page.md) links fell through to repo content / 404 on the live wiki. publish-wiki.sh now rewrites bare sibling links Page.md -> Page in the published copies only (the in-repo source keeps .md so the PR file view still browses correctly); absolute repo blob URLs are untouched. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
…link note The Contributing page + README linked to plugins/php-backend-sdlc/wiki/ via /tree|/blob/main URLs that 404 until this PR merges (a fragile self-reference; caught by a live wiki link audit). Replace with inline code paths, and correct the link-convention note to describe the publish-time .md stripping (the wiki resolves links by bare slug). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
What
Comprehensive, cross-linked, engineer-grade documentation for the
php-backend-sdlcplugin — README on-ramp + a full GitHub Wiki.Closes #10.
Surfaces
plugins/php-backend-sdlc/wiki/, 18 pages +_Sidebar_Footer): Home, Getting-Started, Concepts-and-Glossary,Architecture, The-SDLC-Loop, Commands (all 8), Agents (all 7),
Skills (22 + 2 meta-guides), Project-Profile, Security-Audit,
Review-and-Quality-Gates, Publishing-PR-Comments, Degrade-and-Resilience,
Permissions, Testing-and-Validation, Troubleshooting, FAQ,
Contributing-and-Releases. Every page has a breadcrumb + "See also";
_Sidebargroups all pages (Start here / Reference / Deep dives /Operate / Build).
keep the existing
docs/*.mdreference links.How it was built
BMAD planning bundle under
specs/php-backend-sdlc-docs/(product-brief,PRD, information-architecture with a canonical page + cross-link manifest,
epics) → a parallel subagent authoring loop (one agent per page, grounded
in plugin source) → a two-round review loop (accuracy vs source,
structure, link integrity, clarity) driven to convergence.
Verification
markdownlint-cli2(the CImarkdown-lintjob): 0 errors over 97files.
Slug.mdlink and every repo blob URL resolves(link-check).
publish-wiki.shisshellcheck -xclean.meta-guides (a stray "23" from the initial brief was corrected to 22 by
the review loop, matching README/commands/SKILL-DECISION-GUIDE).
Publishing the wiki (one-time manual step)
GitHub wikis cannot be pushed to until the wiki is initialized once via
the web UI (create any page) — the
.wiki.gitremote 404s until then,and there is no API to seed it. After seeding once, run:
plugins/php-backend-sdlc/scripts/publish-wiki.sh # mirror wiki/ -> wiki remote plugins/php-backend-sdlc/scripts/publish-wiki.sh --dry-runUntil seeded, the full wiki content lives in-repo under
plugins/php-backend-sdlc/wiki/(versioned + CI-linted).🤖 Generated with Claude Code
Summary by cubic
Adds a comprehensive, cross-linked docs set for the
php-backend-sdlcplugin: expanded README, an in-repo GitHub Wiki, and a publish script that mirrors to the GitHub Wiki with safe link handling. Improves onboarding and provides a single reference for commands, agents, skills, and the SDLC loop.New Features
plugins/php-backend-sdlc/wiki/(18 pages +_Sidebar,_Footer) spanning Start here, Reference, Deep dives, Operate, Build.plugins/php-backend-sdlc/scripts/publish-wiki.shmirrors the in-repo wiki to the GitHub Wiki; derives the wiki remote fromorigin(override viaWIKI_REMOTE), supports--dry-run, requires a one-time wiki init via the web UI.Bug Fixes
.mdfrom sibling links at publish time so live wiki links resolve (source keeps.mdfor repo browsing)..mdstripping..claude-plugin/plugin.json.Written for commit ede3950. Summary will update on new commits.