@hanzlaa/rcode 4.3.2 → 4.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (130) hide show
  1. package/AGENTS.md +1 -1
  2. package/CONTRIBUTING.md +2 -1
  3. package/README.md +45 -10
  4. package/cli/doctor.js +21 -3
  5. package/cli/index.js +5 -1
  6. package/cli/install.js +16 -2
  7. package/cli/postinstall.js +1 -1
  8. package/cli/uninstall.js +48 -6
  9. package/dist/rcode.js +178 -174
  10. package/package.json +12 -22
  11. package/rcode/agents/rcode-codebase-mapper.md +12 -0
  12. package/rcode/agents/rcode-phase-researcher.md +13 -0
  13. package/rcode/agents/rcode-project-researcher.md +32 -0
  14. package/rcode/agents/rcode-roadmapper.md +15 -0
  15. package/rcode/agents/rules/planner/common-patterns.md +40 -0
  16. package/rcode/bin/lib/roadmap.cjs +184 -11
  17. package/rcode/bin/rcode-hooks.cjs +303 -14
  18. package/rcode/bin/rcode-tools.cjs +669 -55
  19. package/rcode/commands/lens-audit.md +8 -6
  20. package/rcode/data/intent-table.json +87 -0
  21. package/rcode/modules/seo.yaml +22 -0
  22. package/rcode/references/project-types.yaml +75 -0
  23. package/rcode/skills/SKILLS_INDEX.md +20 -2
  24. package/rcode/skills/actions/4-implementation/rcode-herdr-orchestration/SKILL.md +16 -21
  25. package/rcode/skills/actions/4-implementation/rcode-herdr-orchestration/rules/backlog-building.md +13 -0
  26. package/rcode/skills/actions/4-implementation/rcode-herdr-orchestration/rules/merge-strategy.md +17 -0
  27. package/rcode/skills/actions/4-implementation/rcode-herdr-orchestration/rules/orchestrator-rhythm.md +9 -0
  28. package/rcode/skills/actions/4-implementation/rcode-herdr-orchestration/rules/wave-design.md +21 -0
  29. package/rcode/skills/actions/4-implementation/rcode-herdr-orchestration/templates/heartbeat.sh +0 -0
  30. package/rcode/skills/actions/4-implementation/rcode-scaffold-project/SKILL.md +60 -1
  31. package/rcode/skills/core/rcode-lazy/SKILL.md +149 -0
  32. package/rcode/skills/seo/module.yaml +20 -0
  33. package/rcode/skills/seo/on-page-seo-auditor/SKILL.md +308 -0
  34. package/rcode/skills/seo/on-page-seo-auditor/references/audit-example.md +109 -0
  35. package/rcode/skills/seo/on-page-seo-auditor/references/audit-templates.md +427 -0
  36. package/rcode/skills/seo/on-page-seo-auditor/references/bulk-audit-playbook.md +116 -0
  37. package/rcode/skills/seo/on-page-seo-auditor/references/scoring-rubric.md +525 -0
  38. package/rcode/skills/seo/rank-and-rent-local-seo/SKILL.md +94 -0
  39. package/rcode/skills/seo/rank-and-rent-local-seo/rules/city-matrix-and-pages.md +76 -0
  40. package/rcode/skills/seo/rank-and-rent-local-seo/rules/monetization.md +70 -0
  41. package/rcode/skills/seo/rank-and-rent-local-seo/rules/niche-selection.md +60 -0
  42. package/rcode/skills/seo/rank-and-rent-local-seo/rules/subniche-discovery.md +66 -0
  43. package/rcode/skills/seo/rank-and-rent-local-seo/templates/service-city-page.md +36 -0
  44. package/rcode/skills/seo/rank-and-rent-local-seo/templates/subniche-research-prompt.md +34 -0
  45. package/rcode/skills/seo/seo-audit/SKILL.md +412 -0
  46. package/rcode/skills/seo/seo-audit/evals/evals.json +136 -0
  47. package/rcode/skills/seo/seo-audit/references/ai-writing-detection.md +200 -0
  48. package/rcode/skills/seo/seo-content-factory/SKILL.md +130 -0
  49. package/rcode/skills/seo/seo-content-factory/rules/agents.md +80 -0
  50. package/rcode/skills/seo/seo-content-factory/rules/herdr-wave-mapping.md +80 -0
  51. package/rcode/skills/seo/seo-content-factory/rules/pipeline.md +102 -0
  52. package/rcode/skills/seo/seo-content-factory/rules/programmatic-pages.md +107 -0
  53. package/rcode/skills/seo/seo-content-factory/rules/quality-gates.md +68 -0
  54. package/rcode/skills/seo/seo-content-factory/rules/weekly-cadence.md +61 -0
  55. package/rcode/skills/seo/seo-content-factory/templates/BACKLOG.md +23 -0
  56. package/rcode/skills/seo/seo-content-factory/templates/agent-prompts/01-funnel-A1-A4.md +63 -0
  57. package/rcode/skills/seo/seo-content-factory/templates/agent-prompts/02-fanout-editorial-A5-A6-A8.md +28 -0
  58. package/rcode/skills/seo/seo-content-factory/templates/agent-prompts/03-fanout-programmatic-A7-A6-A8.md +25 -0
  59. package/rcode/skills/seo/seo-content-factory/templates/agent-prompts/04-loop-A9-A10.md +34 -0
  60. package/rcode/skills/seo/seo-content-factory/templates/article.mdx +39 -0
  61. package/rcode/skills/seo/seo-content-factory/templates/cluster.schema.json +52 -0
  62. package/rcode/skills/seo/seo-content-factory/templates/content-brief.md +51 -0
  63. package/rcode/skills/seo/seo-content-factory/templates/jsonld-builders.ts +49 -0
  64. package/rcode/skills/seo/seo-content-factory/templates/keywords.csv +13 -0
  65. package/rcode/skills/seo/seo-content-factory/templates/programmatic-page.tsx +58 -0
  66. package/rcode/skills/seo/seo-content-writer/SKILL.md +263 -0
  67. package/rcode/skills/seo/seo-content-writer/references/content-structure-templates.md +875 -0
  68. package/rcode/skills/seo/seo-content-writer/references/instructions-detail.md +239 -0
  69. package/rcode/skills/seo/seo-content-writer/references/seo-writing-checklist.md +250 -0
  70. package/rcode/skills/seo/seo-content-writer/references/title-formulas.md +339 -0
  71. package/rcode/skills/seo/seo-growth-orchestrator/SKILL.md +79 -0
  72. package/rcode/skills/seo/seo-growth-orchestrator/rules/backlinks.md +29 -0
  73. package/rcode/skills/seo/seo-growth-orchestrator/rules/content-engine.md +27 -0
  74. package/rcode/skills/seo/seo-growth-orchestrator/rules/dos-and-donts.md +40 -0
  75. package/rcode/skills/seo/seo-growth-orchestrator/rules/goals-protocol.md +34 -0
  76. package/rcode/skills/seo/seo-growth-orchestrator/rules/local-seo-stack.md +35 -0
  77. package/rcode/skills/seo/seo-growth-orchestrator/rules/mrr-sprint.md +27 -0
  78. package/rcode/skills/seo/seo-growth-orchestrator/rules/tools.md +19 -0
  79. package/rcode/skills/seo/seo-growth-orchestrator/templates/backlink-research.md +29 -0
  80. package/rcode/skills/seo/seo-growth-orchestrator/templates/goal-protocol.md +35 -0
  81. package/rcode/skills/seo/seo-growth-orchestrator/templates/local-citations.md +24 -0
  82. package/rcode/skills/seo/seo-growth-orchestrator/templates/local-city-pages.md +27 -0
  83. package/rcode/skills/seo/seo-growth-orchestrator/templates/local-gbp-categories.md +23 -0
  84. package/rcode/skills/seo/seo-growth-orchestrator/templates/local-gsc-goldmine.md +27 -0
  85. package/rcode/skills/seo/seo-growth-orchestrator/templates/local-review-mining.md +26 -0
  86. package/rcode/skills/seo/seo-growth-orchestrator/templates/mrr-30day-plan.md +19 -0
  87. package/rcode/skills/seo/seo-growth-orchestrator/templates/mrr-cut.md +13 -0
  88. package/rcode/skills/seo/seo-growth-orchestrator/templates/mrr-opportunity-finder.md +17 -0
  89. package/rcode/skills/seo/seo-growth-orchestrator/templates/mrr-role-model.md +18 -0
  90. package/rcode/skills/seo/seo-site-builder/SKILL.md +149 -0
  91. package/rcode/skills/seo/seo-site-builder/rules/01-niche-discovery.md +64 -0
  92. package/rcode/skills/seo/seo-site-builder/rules/02-deep-research.md +164 -0
  93. package/rcode/skills/seo/seo-site-builder/rules/03-keyword-strategy.md +82 -0
  94. package/rcode/skills/seo/seo-site-builder/rules/04-content-plan.md +173 -0
  95. package/rcode/skills/seo/seo-site-builder/rules/05-site-build.md +187 -0
  96. package/rcode/skills/seo/seo-site-builder/rules/06-yolo.md +127 -0
  97. package/rcode/skills/seo/seo-site-builder/templates/article-stub.mdx +62 -0
  98. package/rcode/skills/seo/seo-site-builder/templates/image-prompt.md +97 -0
  99. package/rcode/skills/seo/seo-site-builder/templates/keyword-export.md +45 -0
  100. package/rcode/skills/seo/seo-site-builder/templates/niche-scorecard.md +28 -0
  101. package/rcode/skills/seo/technical-seo-checker/SKILL.md +329 -0
  102. package/rcode/skills/seo/technical-seo-checker/references/bulk-audit-playbook.md +118 -0
  103. package/rcode/skills/seo/technical-seo-checker/references/ecommerce-platform-patterns.md +166 -0
  104. package/rcode/skills/seo/technical-seo-checker/references/http-status-codes.md +705 -0
  105. package/rcode/skills/seo/technical-seo-checker/references/llm-crawler-handling.md +257 -0
  106. package/rcode/skills/seo/technical-seo-checker/references/pre-migration-playbook.md +137 -0
  107. package/rcode/skills/seo/technical-seo-checker/references/robots-txt-reference.md +717 -0
  108. package/rcode/skills/seo/technical-seo-checker/references/technical-audit-example.md +169 -0
  109. package/rcode/skills/seo/technical-seo-checker/references/technical-audit-templates.md +436 -0
  110. package/rcode/templates/settings-hooks.json +16 -1
  111. package/rcode/workflows/do.md +17 -0
  112. package/rcode/workflows/enable-hooks.md +3 -2
  113. package/rcode/workflows/execute-sprint.md +22 -0
  114. package/rcode/workflows/execute.md +17 -3
  115. package/rcode/workflows/lens-audit.md +49 -8
  116. package/rcode/workflows/new-milestone.md +21 -9
  117. package/rcode/workflows/new-project-create-roadmap.md +2 -0
  118. package/rcode/workflows/new-project-roadmap.md +2 -0
  119. package/rcode/workflows/new-project.md +3 -0
  120. package/rcode/workflows/plan.md +15 -2
  121. package/server/dashboard.js +6 -2
  122. package/server/lib/api.js +35 -20
  123. package/server/lib/html/client/components/OrchPanel.js +43 -2
  124. package/server/lib/html/client/components/dashboard/InProgress.js +5 -4
  125. package/server/lib/html/client/components/shared.js +14 -0
  126. package/server/lib/html/client/orchestrator.js +13 -0
  127. package/server/lib/html/client/views/KanbanView.js +33 -4
  128. package/server/lib/html/css.js +57 -3
  129. package/server/lib/scanner.js +40 -4
  130. package/server/orchestrator.js +42 -0
@@ -0,0 +1,166 @@
1
+ # E-commerce Platform SEO Patterns
2
+
3
+ Referenced from [SKILL.md](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/optimize/technical-seo-checker/SKILL.md). Use alongside [bulk-audit-playbook.md](https://github.com/aaron-he-zhu/seo-geo-claude-skills/blob/main/optimize/technical-seo-checker/references/bulk-audit-playbook.md) when the site runs on a recognizable e-commerce platform. Platform-specific defaults save 60-80% of the time vs. diagnosing from scratch.
4
+
5
+ ---
6
+
7
+ ## How to use this reference
8
+
9
+ 1. Identify the platform from signals: HTML comments, JS bundles, cookies, URL patterns, or asking the user.
10
+ 2. Jump to the relevant section.
11
+ 3. Run the "Diagnostic signals" checks — these are platform-specific pitfalls.
12
+ 4. Apply the "Fix locations" to resolve issues at the template level (not per-URL).
13
+
14
+ ---
15
+
16
+ ## Shopify
17
+
18
+ **How to identify**: `cdn.shopify.com` in assets, `Shopify.shop` in HTML, `/products/`, `/collections/`, `/cart` URL patterns.
19
+
20
+ ### Diagnostic signals
21
+
22
+ | Symptom | Likely root cause |
23
+ |---------|-------------------|
24
+ | Products with variants not indexed | Canonical pointing to parent SKU; variant query strings (`?variant=12345`) dropped |
25
+ | Collection pagination loop | Default Shopify pagination has no `rel="prev/next"` in newer themes |
26
+ | Filter URLs indexed | Faceted collection URLs (`/collections/shoes?filter.p.vendor=Nike`) leaking |
27
+ | `?view=json` URLs indexed | Accidental indexing of Shopify JSON endpoints |
28
+ | Tag URLs cannibalizing categories | `/collections/<tag>` duplicates `/collections/<category>` |
29
+
30
+ ### Fix locations
31
+
32
+ - `sections/product-template.liquid` — variant canonical logic
33
+ - `sections/collection-template.liquid` — pagination + filter canonical
34
+ - `layout/theme.liquid` — global canonical, robots meta
35
+ - `templates/page.liquid` — page-type overrides
36
+ - `robots.txt.liquid` — custom robots (Shopify exposes this on Shopify Plus)
37
+ - Shopify Admin → Online Store → Preferences → search engine listing defaults
38
+
39
+ ### Red-flag Shopify defaults
40
+
41
+ - **Tag pages (`/collections/<tag>`)**: should `noindex` unless you have a content-led tag strategy
42
+ - **`/collections/vendors`, `/collections/types`**: `noindex`
43
+ - **`/cart`, `/checkout`, `/account`**: `noindex`
44
+ - **Variant query URLs**: canonical should point to base product URL (parent)
45
+
46
+ ---
47
+
48
+ ## WooCommerce (WordPress)
49
+
50
+ **How to identify**: `/wp-content/plugins/woocommerce/`, `/product-category/`, `/shop/` URL patterns, `woocommerce` class on body.
51
+
52
+ ### Diagnostic signals
53
+
54
+ | Symptom | Likely root cause |
55
+ |---------|-------------------|
56
+ | Attribute filter URLs indexed | WooCommerce attribute archives (`/pa_color/red/`) |
57
+ | Tag + category cannibalization | Both `/product-tag/<slug>/` and `/product-category/<slug>/` ranking |
58
+ | Pagination indexed individually | `/shop/page/2/` etc. without canonical strategy |
59
+ | Product variations lost | Custom theme stripping variation meta |
60
+ | Duplicate meta across products | Default Yoast / Rank Math templates not customized |
61
+
62
+ ### Fix locations
63
+
64
+ - `functions.php` or child theme — filter URL `noindex`
65
+ - `wp-config.php` — disable pagination indexing via `WP_DISABLE_FATAL_ERROR_HANDLER` area
66
+ - Yoast / Rank Math / All-in-One SEO plugin settings — per-post-type + taxonomy defaults
67
+ - `robots.txt` (via plugin or file) — wildcard `Disallow: /*add-to-cart=*`, `Disallow: /*?orderby=*`
68
+ - Theme `single-product.php` — canonical override for variable products
69
+
70
+ ### Red-flag WooCommerce defaults
71
+
72
+ - **`?add-to-cart=<id>` URLs** appear in crawls — block in robots
73
+ - **`?orderby=`, `?min_price=`** — noindex or cloak from crawlers
74
+ - **Attribute archives** — `noindex,follow` by default; only expose if they have unique content
75
+ - **Product tags** — often duplicate category landing intent; default `noindex`
76
+
77
+ ---
78
+
79
+ ## Headless (Next.js / Remix / Astro / Gatsby) backed by CMS
80
+
81
+ **How to identify**: source maps pointing to `_next/`, `_astro/`, `_remix/`, or framework-specific class names. CMS backend may be Contentful / Sanity / Strapi / WordPress headless.
82
+
83
+ ### Diagnostic signals
84
+
85
+ | Symptom | Likely root cause |
86
+ |---------|-------------------|
87
+ | Content not indexed | Client-side rendering only; no SSR / no prerender |
88
+ | Meta tags missing or generic | Rendered by JS after initial HTML delivery |
89
+ | Hreflang tags wrong | Static generation misses locale-per-URL rendering |
90
+ | Stale content served | Cached at edge; ISR / revalidation not firing |
91
+ | Canonical tags all point to `/` | Template using hardcoded canonical |
92
+ | Schema missing or malformed | JSON-LD generated client-side instead of server-side |
93
+
94
+ ### Fix locations
95
+
96
+ - `app/(routes)/[slug]/page.tsx` or equivalent — ensure SSR or SSG, not CSR
97
+ - `next.config.js` → `experimental.serverActions` / `generateStaticParams`
98
+ - `getStaticProps` / `getServerSideProps` — return canonical, meta, schema in initial render
99
+ - `middleware.ts` — redirect rules, locale routing
100
+ - CMS query → ensure publish-ready content is fetched at build / request, not post-hydration
101
+ - Edge cache config (Vercel / Cloudflare / Netlify) — revalidation policy for product updates
102
+
103
+ ### Red-flag Headless defaults
104
+
105
+ - **React hooks rendering meta tags** — search engines often miss these if not SSR'd
106
+ - **No `<link rel="canonical">`** in initial HTML — check `view-source:` not DevTools
107
+ - **`next/image` without width/height** — CLS issues on product listing pages
108
+ - **Cache-Control headers** — `public, max-age=31536000` on HTML is wrong (only for assets)
109
+
110
+ ---
111
+
112
+ ## BigCommerce
113
+
114
+ **How to identify**: `stencil-themes` in page source, `cdn11.bigcommerce.com` assets.
115
+
116
+ ### Diagnostic signals
117
+
118
+ | Symptom | Likely root cause |
119
+ |---------|-------------------|
120
+ | Facet URL bloat | BigCommerce default exposes `?Facet=` URLs |
121
+ | Brand + category overlap | `/brands/<name>/` + `/categories/` duplicates |
122
+ | Product images 301 loop | Auto-generated image optimization paths |
123
+ | Stencil theme meta issues | Handlebars templates don't escape variant data |
124
+
125
+ ### Fix locations
126
+
127
+ - Stencil theme `templates/components/products/*.html` — canonical per view
128
+ - `config.json` → `settings.urls.*` customization
129
+ - BigCommerce Control Panel → Storefront → SEO settings → Search Engine Options
130
+
131
+ ---
132
+
133
+ ## Magento 2 (Adobe Commerce)
134
+
135
+ **How to identify**: `/static/version*/frontend/` in assets, `Mage_Core` references.
136
+
137
+ ### Diagnostic signals
138
+
139
+ | Symptom | Likely root cause |
140
+ |---------|-------------------|
141
+ | `.html` extension + non-`.html` duplicates | URL rewrite table conflicts |
142
+ | Layered nav facet URLs indexed | Default Magento layered navigation exposed |
143
+ | Session ID in URLs | Legacy Magento 1 setting still live post-migration |
144
+ | Multi-store content duplication | Different store views use same canonical base |
145
+
146
+ ### Fix locations
147
+
148
+ - `app/design/frontend/<vendor>/<theme>/Magento_Catalog/templates/product/*.phtml`
149
+ - Admin → Stores → Configuration → Catalog → SEO
150
+ - `app/etc/config.php` — use `Magento_CatalogUrlRewrite` correctly
151
+ - `composer.json` — ensure Magento 2.4.5+ for built-in structured data
152
+
153
+ ---
154
+
155
+ ## Universal e-commerce checklist
156
+
157
+ Regardless of platform, verify:
158
+
159
+ - [ ] Product pages have `Product` schema with `offers.price`, `offers.priceCurrency`, `offers.availability`, and `review`/`aggregateRating` if reviews exist
160
+ - [ ] Collection / category pages have unique meta descriptions (not auto-generated "Shop our X selection")
161
+ - [ ] Faceted navigation has a clear rule: `noindex,follow` OR `Disallow` in robots.txt OR canonical to parent
162
+ - [ ] Pagination has `rel="next/prev"` OR consistent canonical OR self-canonical per page with clear content differentiation
163
+ - [ ] Out-of-stock products: 301 redirect to category, keep with "notify me" form, or 410 if permanently removed
164
+ - [ ] Product variations: one primary variant canonical, others `noindex` OR hash-based URLs (`#variant-red`)
165
+ - [ ] Structured data for `BreadcrumbList` on all category / product / blog pages
166
+ - [ ] International stores: `hreflang` alternates + self-referential; x-default for global fallback