Skip to content

docs(cssholmes): document the alpha 1 workflows - #8

Merged
mambax7 merged 3 commits into
review/alpha1-2-presentationfrom
review/alpha1-3-documentation
Oct 27, 2026
Merged

mambax7 merged 3 commits into
review/alpha1-2-presentationfrom
review/alpha1-3-documentation

Conversation

@mambax7

@mambax7 mambax7 commented Oct 27, 2026 •

Copy link
Copy Markdown
Contributor

Summary

Part 3 of the cssHolmes 3.3.0 Alpha 1 release, split from #5 to keep automated reviews below 100 files. This PR changes 48 files.

Illustrated tutorial, release notes, compatibility evidence and module documentation.

Review and merge order

Runtime → presentation → documentation → quality. Base: review/alpha1-2-presentation. These are dependent review slices; the complete fourth branch is the release candidate. Do not deploy an intermediate slice.

The combined tree exactly matches release candidate 9b75e84ea2839b96dba219f80d531513ce34a9fa; splitting introduces no source changes.

Validation

The complete candidate passed local PHP 8.4/8.5 checks and browser regressions. A clean package was installed and upgraded from 3.0.0 on a disposable XOOPS 2.7.4-RC2 site, including normal login, editor save/reload, anonymous published CSS, CSRF checks and restore. Hosted CI passed on the complete candidate. The final upstream branch will also run CI before release.

No module-local vendor dependencies are added. PHP 8.4+ is required. Admin-theme publishing and native XOOPS 4 installation remain outside this alpha.

Summary by Sourcery

Document the cssHolmes Alpha 1 workflows, release boundaries, compatibility evidence, and theme-design capabilities for users and maintainers.

Enhancements:

  • Replace the minimal README with comprehensive product, installation, testing, and support guidance.
  • Document the visual designer, reusable theme-set library, xStyles workflow, XTF/XMF tutorial, and migration boundaries.
  • Add compatibility and verification evidence covering supported PHP/XOOPS environments, installation upgrades, testing scope, and known limitations.

Documentation:

  • Publish the cssHolmes 3.3.0 Alpha 1 release notes, illustrated tutorials, compatibility record, theme-set format documentation, and visual-designer guide.
  • Add screenshots and tutorial assets to support the documented workflows.
  • Add a docs entry point that returns a not-found response and preserve the theme-set schema as reference documentation.

Copilot AI balanced review requested due to automatic review settings October 27, 2026 01:22
@sourcery-ai

sourcery-ai Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

Reviewer's Guide

This documentation-focused release slice replaces the legacy project overview with Alpha 1 release, compatibility, and operational guidance, adds extensive illustrated designer/xStyles/theme-set workflows and schema documentation, and clearly records the current XOOPS 4 migration boundary and validation evidence.

File-Level Changes

Change Details Files
Reframes the project documentation around the cssHolmes 3.3.0 Alpha 1 capabilities, installation model, release boundaries, and validation status.
  • Replaces the legacy README with product overview, prerequisites, installation, testing, CI, and dependency guidance.
  • Adds alpha release notes covering highlights, upgrade steps, xStyles integration, compatibility, and limitations.
  • Adds compatibility evidence for PHP versions, XOOPS installation and upgrade smoke tests, focused suites, static analysis, workflow validation, and known legacy-test failures.
  • Adds an HTTP-safe docs entrypoint and removes the previous static index file.
README.md
docs/RELEASE-3.3.0-alpha.1.md
docs/compatibility.md
docs/index.html
docs/index.php
docs/changelog.txt
Adds illustrated user and developer documentation for the visual designer, xStyles workflow, XTF/XMF diagnostics, and theme configuration sets.
  • Documents inspect, preview, edit, compare, responsive, publish, restore, permissions, contrast, and storage workflows.
  • Adds the comprehensive XTF/XMF tutorial with screenshots, diagnostic profiles, toolbar tools, widget/slot concepts, and recommended workflows.
  • Documents named-set storage, ownership, concurrency, likes, import/export format, validation boundaries, palettes, reset semantics, and administrative operations.
  • Adds the versioned theme-set JSON schema and supporting tutorial image assets.
docs/TUTORIAL-cssholmes-XTF-XMF-v2.md
docs/TUTORIAL-xStyles.md
docs/visual-designer.md
docs/theme-sets.md
docs/theme-set.schema.json
docs/images/image003059.jpg
docs/images/image003060.jpg
docs/images/image003061.jpg
docs/images/image003062.jpg
docs/images/image003063.jpg
docs/images/image003064.jpg
docs/images/image003065.jpg
docs/images/image003066.jpg
docs/images/image003067.jpg
docs/images/image003068.jpg
docs/images/image003069.jpg
docs/images/image003070.jpg
docs/images/image003071.jpg
docs/images/image003072.jpg
docs/images/image003073.jpg
docs/images/image003074.jpg
docs/images/image003075.jpg
docs/images/image003076.jpg
docs/images/image003077.jpg
docs/images/image003078.jpg
docs/images/image003079.jpg
docs/images/image003080.jpg
docs/images/image003082.jpg
docs/images/image003083.jpg
docs/images/image003084.jpg
docs/images/image003085.jpg
docs/images/image003086.jpg
docs/images/image003087.jpg
docs/images/image003088.jpg
docs/images/image003089.jpg
docs/images/image003090.jpg
docs/images/image003091.jpg
docs/images/image003092.jpg
docs/images/xstyles-tutorial/01-inspect.png
docs/images/xstyles-tutorial/02-compare.png
docs/images/xstyles-tutorial/03-responsive.png
Documents the explicit boundary between current cssHolmes behavior and a future native XOOPS 4/XMF/XTF integration.
  • Maps current responsibilities to proposed migration seams without claiming native installation support.
  • Records inspected package contracts, theme identity rules, token and mode conventions, asset behavior, and storage ownership.
  • Lists remaining native routing, authentication, theme catalog, slot, asset-order, and installed-site verification work.
docs/xoops4-migration.md

Tips and commands

Interacting with Sourcery

  • Trigger a new review: Comment @sourcery-ai review on the pull request.
  • Continue discussions: Reply directly to Sourcery's review comments.
  • Generate a GitHub issue from a review comment: Ask Sourcery to create an
    issue from a review comment by replying to it. You can also reply to a
    review comment with @sourcery-ai issue to create an issue from it.
  • Generate a pull request title: Write @sourcery-ai anywhere in the pull
    request title to generate a title at any time. You can also comment
    @sourcery-ai title on the pull request to (re-)generate the title at any time.
  • Generate a pull request summary: Write @sourcery-ai summary anywhere in
    the pull request body to generate a PR summary at any time exactly where you
    want it. You can also comment @sourcery-ai summary on the pull request to
    (re-)generate the summary at any time.
  • Generate reviewer's guide: Comment @sourcery-ai guide on the pull
    request to (re-)generate the reviewer's guide at any time.
  • Resolve all Sourcery comments: Comment @sourcery-ai resolve on the
    pull request to resolve all Sourcery comments. Useful if you've already
    addressed all the comments and don't want to see them anymore.
  • Dismiss all Sourcery reviews: Comment @sourcery-ai dismiss on the pull
    request to dismiss all existing Sourcery reviews. Especially useful if you
    want to start fresh with a new review - don't forget to comment
    @sourcery-ai review to trigger a new review!

Customizing Your Experience

Access your dashboard to:

  • Enable or disable review features such as the Sourcery-generated pull request
    summary, the reviewer's guide, and others.
  • Change the review language.
  • Add, remove or edit custom review instructions.
  • Adjust other review settings.

Getting Help

@coderabbitai

coderabbitai Bot commented Oct 27, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

Run configuration
  • Source mode: Auto
  • Repository: Unavailable
  • Branch: Unavailable
  • File: No configuration file from this repository applied
  • Commit: Unavailable
  • Layers: defaults
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: c2cd12f7-2345-4635-8768-c22c015d5d35

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has insufficient remaining quota.

An organization owner can choose the repository organization as the billing source for reviews requested by members with a paid Copilot license. Learn about Copilot code review billing.

@mambax7 mambax7 mentioned this pull request Oct 27, 2026

@sourcery-ai sourcery-ai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey - I've found 5 issues

Prompt for AI Agents
Please address the comments from this code review:

## Individual Comments

### Comment 1
<location path="README.md" line_range="23" />
<code_context>
+Back up the site's files and database before an installed-module upgrade.

-Please visit us on https://xoops.org
+From an installed module directory, `php tests/run.php` runs the isolated PHP
+regressions plus the analyzer, CLI and diagnostic PHPUnit tests using shared
+`xoops_lib/vendor/bin/phpunit`. For a separate checkout, set `XOOPS_VENDOR_PATH`
</code_context>
<issue_to_address>
**Documented test commands cannot run**

When a contributor follows the README or visual designer verification instructions, the documented `tests/run.php`, `tests/designer-*.php`, `tests/designer-client.cjs` and related test scripts are absent, so the PHP and Node commands fail with missing-file errors instead of running the advertised checks.

Add the referenced test scripts or update both guides to document verification commands that exist in the repository.

Also at `docs/compatibility.md:17-20`, `docs/visual-designer.md:138-143`, `docs/xoops4-migration.md:63-67`.
</issue_to_address>

### Comment 2
<location path="README.md" line_range="30-31" />
<code_context>

-Current and upcoming "next generation" versions of XOOPS CMS are crafted on GitHub at: https://github.com/XOOPS
+Source and issues: [mambax7/cssholmes](https://github.com/mambax7/cssholmes).
+The repository's CI checks PHP 8.4/8.5; release tags run CI before creating a
+clean module ZIP. Qodana is optional and explicitly skips its scan when
+`QODANA_TOKEN` is unavailable. A skipped scan is not a quality result.
+
</code_context>
<issue_to_address>
**Release automation is absent**

When a maintainer relies on the checked-in repository configuration to run CI or package a release, the repository contains no GitHub Actions workflows or `qodana.yaml`, so pushes and release tags cannot run the promised PHP CI, create a clean module ZIP, or execute the documented Qodana workflow.

Add the described workflow and Qodana configuration files, or revise the documentation to match the automation actually present.

Also at `docs/compatibility.md:61-62`.
</issue_to_address>

### Comment 3
<location path="docs/TUTORIAL-cssholmes-XTF-XMF-v2.md" line_range="127-129" />
<code_context>
+Activate with a query parameter:
+
+```
+/?holmes=xtf-theme,xtf-widget
+/?holmes=all
+/modules/cssholmes/admin/index.php?holmes=xtf-theme,a11y
+```
+
</code_context>
<issue_to_address>
**Tutorial overlay examples do not activate**

When the site's `holmes_query_key` preference is not `holmes`, the tutorial URLs use `holmes` literally, but `preloads/core.php` reads the configured `holmes_query_key`, so the overlay stays inactive and the documented diagnostics are unavailable.

Use the configured query key in the examples, or explain how to substitute it.

Also at `docs/TUTORIAL-cssholmes-XTF-XMF-v2.md:91`, `docs/TUTORIAL-cssholmes-XTF-XMF-v2.md:212-218`, `docs/TUTORIAL-cssholmes-XTF-XMF-v2.md:317-326`, `docs/TUTORIAL-cssholmes-XTF-XMF-v2.md:365`, `docs/TUTORIAL-cssholmes-XTF-XMF-v2.md:530`, `docs/TUTORIAL-cssholmes-XTF-XMF-v2.md:619`.
</issue_to_address>

### Comment 4
<location path="docs/TUTORIAL-cssholmes-XTF-XMF-v2.md" line_range="1" />
<code_context>
+# cssHolmes Tutorial — XTF Themes and XMF Widgets
+
+**Audience:** XOOPS designers, theme builders, theme editors, widget developers
</code_context>
<issue_to_address>
**In-module tutorial pointer stays broken**

When a user follows the tutorial pointer in the module help, the module help still names `docs/TUTORIAL-cssholmes-XTF-XMF.md`, which is absent; users following that pointer cannot reach this newly added tutorial.

Update the help template to point to the new tutorial filename.
</issue_to_address>

### Comment 5
<location path="docs/TUTORIAL-cssholmes-XTF-XMF-v2.md" line_range="32" />
<code_context>
+If no `theme.json` manifest is detected, cssHolmes switches to generic mode.
+HTML5, accessibility, layout, inspection, measurement, copy, and export still
+work. Only the XTF-specific tools (token matching, slot jumping, theme
+scanning) stay disabled.
+
+![Generic mode on a non-XTF XOOPS site](images/image003087.jpg)
</code_context>
<issue_to_address>
**Generic themes said to lack scanning**

When the site has a generic XOOPS theme without `theme.json`, the tutorial says theme scanning is disabled without `theme.json`, but `ThemeCatalog` also discovers generic themes containing `theme.tpl` or `theme.html`; users following the guide skip a scan the workbench supports.

Clarify that XTF-specific checks are unavailable but generic theme scanning remains available, with manifest-dependent checks skipped.
</issue_to_address>

Sourcery assessment

Approval pending. 3 findings to address first.

Blocking findings: README.md:23, README.md:31, docs/TUTORIAL-cssholmes-XTF-XMF-v2.md:129


Sourcery is free for open source - if you like our reviews please consider sharing them ✨

Comment thread README.md
Back up the site's files and database before an installed-module upgrade.

Please visit us on https://xoops.org
From an installed module directory, `php tests/run.php` runs the isolated PHP

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Medium · Documented test commands cannot run

When a contributor follows the README or visual designer verification instructions, the documented tests/run.php, tests/designer-*.php, tests/designer-client.cjs and related test scripts are absent, so the PHP and Node commands fail with missing-file errors instead of running the advertised checks.

Add the referenced test scripts or update both guides to document verification commands that exist in the repository.

Also at docs/compatibility.md:17-20, docs/visual-designer.md:138-143, docs/xoops4-migration.md:63-67.

Prompt for AI agents
In `README.md` at line 23:

**Documented test commands cannot run**

When a contributor follows the README or visual designer verification instructions, the documented `tests/run.php`, `tests/designer-*.php`, `tests/designer-client.cjs` and related test scripts are absent, so the PHP and Node commands fail with missing-file errors instead of running the advertised checks.

Add the referenced test scripts or update both guides to document verification commands that exist in the repository.

Also at `docs/compatibility.md:17-20`, `docs/visual-designer.md:138-143`, `docs/xoops4-migration.md:63-67`.

Comment thread README.md Resolved
Comment thread docs/TUTORIAL-cssholmes-XTF-XMF-v2.md Resolved
@@ -0,0 +1,694 @@
# cssHolmes Tutorial — XTF Themes and XMF Widgets

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚪ Low · In-module tutorial pointer stays broken

When a user follows the tutorial pointer in the module help, the module help still names docs/TUTORIAL-cssholmes-XTF-XMF.md, which is absent; users following that pointer cannot reach this newly added tutorial.

Update the help template to point to the new tutorial filename.

Prompt for AI agents
In `docs/TUTORIAL-cssholmes-XTF-XMF-v2.md` at line 1:

**In-module tutorial pointer stays broken**

When a user follows the tutorial pointer in the module help, the module help still names `docs/TUTORIAL-cssholmes-XTF-XMF.md`, which is absent; users following that pointer cannot reach this newly added tutorial.

Update the help template to point to the new tutorial filename.

Comment thread docs/TUTORIAL-cssholmes-XTF-XMF-v2.md Resolved
@mambax7
mambax7 merged commit 2fc5825 into review/alpha1-2-presentation Oct 27, 2026
2 checks passed
@mambax7
mambax7 requested a lite review from Copilot October 27, 2026 02:19

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

The review identified one moderate schema inconsistency and several documentation inaccuracies that should be corrected before approval.

3 open issues

Review effort: Lite

"color": {"$ref": "#/$defs/cssColor"}, "background-color": {"$ref": "#/$defs/cssColor"}, "border-color": {"$ref": "#/$defs/cssColor"},
"font-size": {"$ref": "#/$defs/cssLength"}, "gap": {"$ref": "#/$defs/cssLength"},
"border-width": {"$ref": "#/$defs/cssLength"}, "border-radius": {"$ref": "#/$defs/cssLength"},
"width": {"anyOf": [{"$ref": "#/$defs/cssLength"}, {"const": "auto"}]}, "height": {"$ref": "#/$defs/cssLength"},
# cssHolmes Tutorial — XTF Themes and XMF Widgets

**Audience:** XOOPS designers, theme builders, theme editors, widget developers
**Requires:** XOOPS 2.5.12+, cssHolmes installed and activated
Comment on lines +74 to +76
When cssHolmes inspects an element, it can tell you which slot it belongs to,
which widget rendered it, and which token (if any) controls its color. That
is the information browser devtools cannot provide.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants