sparxstar-gluon

Untitled-7 (2)

SPARXSTAR™ Gluon - WordPress® Plugin Starter

A comprehensive template repository for building modern WordPress plugins that follow Starisian Technologies coding conventions and SPARXSTAR deployment standards.

Features

Modern PHP Development

🎨 Frontend Tooling

🧪 Comprehensive Testing

🚀 CI/CD & Automation

📦 Release Management

Quick Start

  1. Clone and Install
git clone https://github.com/Starisian-Technologies/sparxstar-gluon.git your-plugin-name
cd your-plugin-name
composer install
npm install
  1. Build Assets
npm run build
  1. Run Tests
composer run test:php
npm test
  1. Activate in WordPress

Renaming This Scaffold

Gluon is a named scaffold — when building a real plugin, replace all scaffold identifiers with your plugin’s name. Run through these steps after cloning:

Find (case-sensitive) Replace with
sparxstar-gluon your-plugin-slug
SparxstarGluon YourPluginName
SPARXSTAR_GLUON YOUR_PLUGIN
sparxstar_gluon your_plugin
Gluon YourPlugin
gluon yourplugin
SPARXSTAR GLUON YOUR PLUGIN NAME

Files to rename:

Update the plugin header fields (Plugin Name, Text Domain, Plugin URI, etc.) and the composer.json name field to match your plugin’s identity.

Documentation

Development Commands

PHP

composer run lint:php          # Check PHP code style
composer run fix:php           # Auto-fix PHP issues
composer run analyze:php       # Run PHPStan analysis
composer run test:php          # Run PHPUnit tests
composer run refactor:php      # Preview Rector changes
composer run refactor:php:fix  # Apply Rector refactoring

JavaScript & CSS

npm run lint              # Lint JS & CSS
npm run lint:js          # Lint JavaScript only
npm run lint:css         # Lint CSS only
npm run format           # Format with Prettier
npm test                 # Run Jest tests
npm run test:e2e         # Run Playwright E2E tests

Building

npm run build            # Build all assets
npm run build:js         # Minify JS (src/js → assets/js)
npm run build:css        # Minify CSS (src/css → assets/css)
npm run makepot          # Generate translation file

Project Structure

├── src/                      # Source code (scanned by linters)
│   ├── js/                  # JavaScript source files
│   ├── css/                 # CSS source files
│   ├── core/                # Core PHP classes
│   ├── helpers/             # Helper classes
│   ├── includes/            # Autoloader & includes
│   ├── integrations/        # Third-party integrations
│   └── templates/           # Template files
├── assets/                   # Built/minified assets (generated)
│   ├── js/                  # Minified JavaScript
│   └── css/                 # Minified CSS
├── tests/                    # Test files
│   ├── phpunit/             # PHP unit tests
│   └── e2e/                 # End-to-end tests
├── vendor/                   # Composer dependencies (ignored)
├── node_modules/            # npm dependencies (ignored)
├── .github/workflows/       # CI/CD workflows
├── docs/                    # Documentation
└── languages/               # Translation files

Code Quality Standards

This template follows:

Linting Scope

Important: Linting and analysis tools only scan:

Excluded from linting:

Workflows

Continuous Integration

Runs on every push/PR:

Release Process

Triggered by pushing a version tag (v*):

  1. Updates version in all files
  2. Installs production dependencies
  3. Builds and minifies assets
  4. Generates translation files
  5. Creates distribution ZIP
  6. Generates checksums
  7. Creates GitHub release

To release:

git tag -a v1.2.3 -m "Release 1.2.3"
git push origin v1.2.3

Security Scanning

Weekly and on-demand:

Accessibility Testing

Automated accessibility validation:

Configuration Files

File Purpose
phpcs.xml.dist PHP_CodeSniffer configuration
phpstan.neon.dist PHPStan static analysis
phpunit.xml.dist PHPUnit testing
rector.php Rector refactoring rules
eslint.config.js ESLint JavaScript linting
.stylelintrc.json Stylelint CSS linting
jest.config.js Jest testing configuration
playwright.config.js Playwright E2E testing
.distignore Files to exclude from releases
composer.json PHP dependencies & scripts
package.json Node dependencies & scripts

Requirements

License

This software is provided “as is”, without warranty of any kind, express or implied, including but not limited to the warranties of merchantability, fitness for a particular purpose, and non-infringement.

MIT License - see LICENSE.md.

Copyright (c) 2026 Starisian Technologies (Max Barrett).

Credits

Created and maintained by Starisian Technologies™ .

Author: Max Barrett
Email: support@starisian.com

SPARXSTAR™ and Starisian Technologies™ are trademarks of Starisian Technologies. WordPress® is a registered trademark of WordPress Inc. Starisian Technologies is in now way affiliated with WordPress.

Support

Contributing

See CONTRIBUTING.md for contribution guidelines and docs/FIRST_CONTRIBUTION.md for first-time contributors.