Context
Each rtCamp project currently copies tooling configs independently — ESLint, Stylelint, PHPCS, webpack. Over time these diverge, making cross-project consistency impossible and improvements hard to roll out.
A privately-published shared package gives all starters a single source of truth for tooling config. Individual projects extend it and override only what they need.
Expected Outcome
A new private npm/Composer package @rtcamp/standards published to GitHub Package Registry containing:
@rtcamp/standards/
├── eslint/
│ └── index.js # Base ESLint config — extend in projects
├── stylelint/
│ └── index.js # Base Stylelint config
├── phpcs/
│ └── phpcs.xml # Base PHPCS ruleset
├── webpack/
│ └── webpack.config.js # Base webpack config
└── package.json
Consumer usage:
// .eslintrc.js in a project
module.exports = {
extends: ['@rtcamp/standards/eslint'],
rules: { /* project overrides */ }
}
Both theme-elementary and features-plugin-skeleton updated to consume this package instead of maintaining their own copies.
Acceptance Criteria
Notes
- Publish as a private scoped package — requires GitHub Package Registry access.
- Keep base configs minimal and WordPress/Gutenberg-aware by default.
Context
Each rtCamp project currently copies tooling configs independently — ESLint, Stylelint, PHPCS, webpack. Over time these diverge, making cross-project consistency impossible and improvements hard to roll out.
A privately-published shared package gives all starters a single source of truth for tooling config. Individual projects extend it and override only what they need.
Expected Outcome
A new private npm/Composer package
@rtcamp/standardspublished to GitHub Package Registry containing:Consumer usage:
Both
theme-elementaryandfeatures-plugin-skeletonupdated to consume this package instead of maintaining their own copies.Acceptance Criteria
@rtcamp/standardsv0.1.0theme-elementaryandfeatures-plugin-skeletonboth consume the packageNotes