A comprehensive tool for setting up consistent development environments across projects. This tool goes beyond just linting to provide a complete development environment including pre-commit hooks, CI/CD workflows, and project-specific configurations.
# Navigate to your project directory
cd your-project
# Clone the setup tool
git clone https://github.com/HelloPikari/pikari-dev-setup.git
# Run the setup
./pikari-dev-setup/setup.sh-
Linting Configuration
- ESLint with WordPress standards
- Stylelint for CSS/SCSS
- PHPCS with WordPress coding standards
- Prettier for consistent formatting
-
Pre-commit Hooks
- Husky + lint-staged
- Automatic linting on commit
-
GitHub Workflows
- CI workflow for tests and linting
- Build branch automation
- Release automation
-
WordPress Playground
- Local development blueprint
- Demo blueprint for GitHub
-
Release Automation
- Release Drafter for automated changelogs
- GitHub Releases with assets
- Composer distribution via dist branch
-
CLAUDE.md
- AI assistant context
- Project-specific guidelines
- Coding standards documentation
pikari-dev-setup/
├── setup.sh # Main entry point
├── shared/ # Shared components
│ ├── husky/ # Generic pre-commit hooks
│ └── claude/ # Base CLAUDE.md templates
└── wordpress/ # WordPress-specific setup
├── setup.sh # WordPress setup script
├── linting/ # Linting configurations
├── github/ # GitHub workflows and configs
├── playground/ # WordPress Playground configs
├── claude/ # WordPress CLAUDE.md templates
└── package-scripts/ # npm/composer scripts
-
From your project root, run the setup script:
./pikari-dev-setup/setup.sh
-
Select your project type (currently WordPress only)
-
Provide project information when prompted:
- Project name and description
- Author name and email
- Project homepage (optional)
-
Follow the prompts to:
- Copy configuration files
- Set up pre-commit hooks
- Create GitHub workflows
- Generate CLAUDE.md
- Create/update package.json and composer.json
-
The setup will offer to:
- Install npm dependencies
- Install composer dependencies
- Remove the setup folder when complete
Run linting:
npm run lint:all # Run all linters
npm run lint:fix # Auto-fix issuesStart development:
npm start # Start dev build
npm run playground # Launch WordPress PlaygroundCreate a release:
# 1. Merge PR to main branch
# 2. Publish the draft release on GitHub
# 3. Assets and dist branch are created automatically-
Create a new directory under
pikari-dev-setup/:mkdir react
-
Add project-specific components:
setup.sh- Setup script- Linting configurations
- Tool configurations
- Templates
-
Update main
setup.shto include the new option
Shared components in the shared/ directory can be used across all project types:
- Husky configurations
- Base CLAUDE.md sections
- Common workflows
- Node.js 16+ (for JavaScript tooling)
- PHP 8.2+ (for WordPress projects)
- Composer (for PHP dependencies)
- jq (for JSON manipulation in scripts)
- Git (for version control)
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch
- Make your changes
- Submit a pull request
- Create a new directory under
pikari-dev-setup/ - Add all necessary config files and setup script
- Create comprehensive documentation
- Update the main setup.sh to include your configuration
- Submit a pull request
MIT - Feel free to use and modify these configurations for your projects.
Built with inspiration from various open-source projects and the WordPress community.