Skip to content

Shared Tooling Package #635

@aryanjasala

Description

@aryanjasala

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

  • Package published to GitHub Package Registry as @rtcamp/standards v0.1.0
  • Contains base configs for ESLint, Stylelint, PHPCS, and webpack
  • theme-elementary and features-plugin-skeleton both consume the package
  • Projects can override individual rules without modifying the package
  • CI passes after switching to the shared configs in both repos

Notes

  • Publish as a private scoped package — requires GitHub Package Registry access.
  • Keep base configs minimal and WordPress/Gutenberg-aware by default.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions