October CMS Coding Practices
Application skill for October CMS developer guidelines ingest (awesome-guidelines). Generic PHP: php-coding-practices. Sibling CMS: magento-coding-practices, drupal-coding-practices, wordpress-coding-practices.
Core Principle
October maintainability is PSR layout plus marketplace naming discipline, camelCase PHP with snake_case at persistence/UI boundaries, consistent plugin codes and table prefixes, Rain exception types, and semver-backed composer packages.
When to Use / NOT
- October CMS plugins, themes, and marketplace-bound packages.
- Reviewing
Plugin.php, models, backend controllers, components, .htm views, migrations.
- Preparing
composer.json for -plugin/-theme publish.
NOT when:
- Non-October PHP,
php-coding-practices.
- Other CMS stacks, sibling CMS practice skills.
- Pure Laravel apps without October plugin structure.
- Client-hosted legacy October 1.x without composer plugins, adapt naming; publishing rules may differ.
Workflow
- PHP/PSR, PSR base, camelCase/snake_case, AJAX carve-outs (
october-style-php-psr.md).
- Naming, vendor, DB, MVC, views, events (
october-style-naming-patterns.md).
- Classes/exceptions, visibility, Rain exceptions (
october-style-class-exceptions.md).
- Packages/verify, composer, semver, MySQL strict (
october-style-packages-verify.md).
Red Flags
- Lowercase or dashed vendor/plugin code (
acme.blog)
- camelCase DB column conflicting with model property names
- Boolean DB column without
is_ prefix when clash risk exists
- Partial view missing the leading
_
- View not using
.htm extension
- Component name colliding with model/controller
- Event named with
onSomething instead of before/after semantics
- Generic
\Exception for user-facing validation message
- SystemException for simple form validation users should see
- Composer package name missing
-plugin or -theme suffix
- Breaking API change shipped as patch/minor semver tag
- All-private class intended as extension base
- MySQL strict mode disabled during active schema development
Verification
- PHPCS PSR-1/2 on changed plugin PHP (document October control-flow exceptions)
- Naming checklist: vendor code, tables, views, components, events
composer.json name/type/suffix review before publish
- Semver tag + version file bump alignment
- MySQL
STRICT_TRANS_TABLES enabled in dev environment
- Exception type spot-check on new throw sites
References
awesome-guidelines/references/october-style-learning-note.md
awesome-guidelines/references/october-style-php-psr.md
awesome-guidelines/references/october-style-naming-patterns.md
awesome-guidelines/references/october-style-class-exceptions.md
awesome-guidelines/references/october-style-packages-verify.md
Related skills
php-coding-practices, PSR baseline outside October
git-workflow-and-versioning, semver for published packages
magento-coding-practices, sibling commerce CMS conventions
drupal-coding-practices, sibling CMS conventions
wordpress-coding-practices, sibling CMS conventions
1---2name: october-coding-practices3description: Use when authoring or reviewing October CMS plugins/themes, PSR-1/2/4, camelCase/snake_case split, marketplace naming, Rain exceptions, composer -plugin/-theme packages, and semver publish verification.4---56# October CMS Coding Practices78Application skill for October CMS developer guidelines ingest (`awesome-guidelines`). Generic PHP: `php-coding-practices`. Sibling CMS: `magento-coding-practices`, `drupal-coding-practices`, `wordpress-coding-practices`.910## Core Principle1112October maintainability is **PSR layout plus marketplace naming discipline**, camelCase PHP with snake_case at persistence/UI boundaries, consistent plugin codes and table prefixes, Rain exception types, and semver-backed composer packages.1314## When to Use / NOT1516- October CMS plugins, themes, and marketplace-bound packages.17- Reviewing `Plugin.php`, models, backend controllers, components, `.htm` views, migrations.18- Preparing `composer.json` for `-plugin`/`-theme` publish.1920**NOT when:**2122- Non-October PHP, `php-coding-practices`.23- Other CMS stacks, sibling CMS practice skills.24- Pure Laravel apps without October plugin structure.25- Client-hosted legacy October 1.x without composer plugins, adapt naming; publishing rules may differ.2627## Workflow28291. **PHP/PSR**, PSR base, camelCase/snake_case, AJAX carve-outs (`october-style-php-psr.md`).302. **Naming**, vendor, DB, MVC, views, events (`october-style-naming-patterns.md`).313. **Classes/exceptions**, visibility, Rain exceptions (`october-style-class-exceptions.md`).324. **Packages/verify**, composer, semver, MySQL strict (`october-style-packages-verify.md`).3334## Red Flags3536- Lowercase or dashed vendor/plugin code (`acme.blog`)37- camelCase DB column conflicting with model property names38- Boolean DB column without `is_` prefix when clash risk exists39- Partial view missing the leading `_`40- View not using `.htm` extension41- Component name colliding with model/controller42- Event named with `onSomething` instead of before/after semantics43- Generic `\Exception` for user-facing validation message44- SystemException for simple form validation users should see45- Composer package name missing `-plugin` or `-theme` suffix46- Breaking API change shipped as patch/minor semver tag47- All-private class intended as extension base48- MySQL strict mode disabled during active schema development4950## Verification5152- PHPCS PSR-1/2 on changed plugin PHP (document October control-flow exceptions)53- Naming checklist: vendor code, tables, views, components, events54- `composer.json` name/type/suffix review before publish55- Semver tag + version file bump alignment56- MySQL `STRICT_TRANS_TABLES` enabled in dev environment57- Exception type spot-check on new throw sites585960## References6162- `awesome-guidelines/references/october-style-learning-note.md`63- `awesome-guidelines/references/october-style-php-psr.md`64- `awesome-guidelines/references/october-style-naming-patterns.md`65- `awesome-guidelines/references/october-style-class-exceptions.md`66- `awesome-guidelines/references/october-style-packages-verify.md`6768## Related skills6970- `php-coding-practices`, PSR baseline outside October71- `git-workflow-and-versioning`, semver for published packages72- `magento-coding-practices`, sibling commerce CMS conventions73- `drupal-coding-practices`, sibling CMS conventions74- `wordpress-coding-practices`, sibling CMS conventions