A comprehensive template repository for building modern WordPress plugins that follow Starisian Technologies coding conventions and SPARXSTAR deployment standards.
โจ Modern PHP Development
- PHP 8.2+ with PSR-4 autoloading
- WordPress VIP coding standards
- PHPStan static analysis (Level 5)
- PHPCS with WordPress standards
- Rector for automated refactoring
- PHPUnit for unit testing
๐จ Frontend Tooling
- ESLint for JavaScript linting
- Stylelint for CSS linting
- Terser for JS minification
- clean-css for CSS minification
- Automated build pipeline (src/ โ assets/)
๐งช Comprehensive Testing
- PHPUnit for PHP unit tests
- Jest for JavaScript unit tests
- Playwright for E2E testing
- Puppeteer for browser automation
- Accessibility testing with axe-core
๐ CI/CD & Automation
- GitHub Actions workflows
- Automated releases with version bumping
- Security scanning (CodeQL, dependency audits)
- Accessibility validation
- Code quality checks
- Automated asset building
๐ฆ Release Management
- Automated versioning from Git tags
- Asset minification and optimization
- i18n POT file generation
- Checksum generation (MD5, SHA256)
- Respects .distignore for clean distributions
- Clone and Install
git clone https://github.com/Starisian-Technologies/sparxstar-starter.git your-plugin-name
cd your-plugin-name
composer install
npm install- Build Assets
npm run build- Run Tests
composer run test:php
npm test- Activate in WordPress
- Copy plugin to WordPress plugins directory
- Activate through WordPress admin
- Build & Development Guide - Detailed build instructions
- Tooling Configuration - Configure all dev tools
- Local Development - Setup local environment
- First Contribution - Contributing guide
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 refactoringnpm 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 testsnpm 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โโโ 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
This template follows:
- PSR-4 autoloading
- PSR-12 coding style (where not conflicting with WordPress)
- WordPressยฎ VIP standards (takes precedence over PSR where conflicts exist)
- WordPressยฎ Coding Standards for WordPress-specific code
- Modern PHP practices (type declarations, readonly properties, etc.)
Important: Linting and analysis tools only scan:
- Root-level PHP files (e.g.,
sparxstar-plugin-entry.php) src/directory
Excluded from linting:
vendor/- Third-party PHP dependenciesnode_modules/- Third-party JS dependenciesassets/- Generated/minified filestests/- Test files (separate standards)data/,examples/,schemas/- Non-code directories
Runs on every push/PR:
- PHP linting (PHPCS) and analysis (PHPStan)
- JavaScript/CSS linting
- Unit tests (PHP & JS)
- Asset building verification
- Rector refactoring checks
Triggered by pushing a version tag (v*):
- Updates version in all files
- Installs production dependencies
- Builds and minifies assets
- Generates translation files
- Creates distribution ZIP
- Generates checksums
- Creates GitHub release
To release:
git tag -a v1.2.3 -m "Release 1.2.3"
git push origin v1.2.3Weekly and on-demand:
- Dependency audits (Composer & npm)
- CodeQL analysis
- Secret scanning
- Security best practices checks
Automated accessibility validation:
- axe-core integration
- WCAG 2.1 compliance
- HTML validation
| 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 |
- PHP 8.2 or higher
- WordPress 6.8 or higher
- Node.js 20 or higher
- Composer 2.x
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).
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.
- ๐ Documentation
- ๐ Issue Tracker
- ๐ฌ Discussions
- ๐ง Email: support@starisian.com
See CONTRIBUTING.md for contribution guidelines and docs/FIRST_CONTRIBUTION.md for first-time contributors.