{"id":15292153,"url":"https://github.com/syntatis/howdy","last_synced_at":"2025-06-28T11:32:44.909Z","repository":{"id":257785035,"uuid":"859612115","full_name":"syntatis/howdy","owner":"syntatis","description":"👋 Build your next modern plugin for WordPress®","archived":false,"fork":false,"pushed_at":"2025-06-24T01:39:58.000Z","size":1476,"stargazers_count":45,"open_issues_count":1,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-24T02:35:04.645Z","etag":null,"topics":["autoloader","composer","composer-project","php-scoper","phpcs","wordpress","wordpress-plugin-boilerplate","wp-scripts"],"latest_commit_sha":null,"homepage":"","language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/syntatis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2024-09-19T01:12:40.000Z","updated_at":"2025-06-24T01:38:58.000Z","dependencies_parsed_at":null,"dependency_job_id":"9b79d4ed-8710-4c30-b799-185a3c5d2d0e","html_url":"https://github.com/syntatis/howdy","commit_stats":null,"previous_names":["syntatis/howdy"],"tags_count":7,"template":true,"template_full_name":null,"purl":"pkg:github/syntatis/howdy","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syntatis%2Fhowdy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syntatis%2Fhowdy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syntatis%2Fhowdy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syntatis%2Fhowdy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/syntatis","download_url":"https://codeload.github.com/syntatis/howdy/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/syntatis%2Fhowdy/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":262421846,"owners_count":23308527,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["autoloader","composer","composer-project","php-scoper","phpcs","wordpress","wordpress-plugin-boilerplate","wp-scripts"],"created_at":"2024-09-30T16:16:48.909Z","updated_at":"2025-06-28T11:32:44.884Z","avatar_url":"https://github.com/syntatis.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# 👋 Howdy\n\n**Howdy** is a starter kit for creating WordPress plugins. It provides a boilerplate structure with pre-configured tools to help you start developing plugins using modern PHP practices like [PSR-4 Autoloading](https://www.php-fig.org/psr/psr-4/) with [Composer](https://getcomposer.org), [PHP Code Sniffer (PHPCS)](https://github.com/PHPCSStandards/PHP_CodeSniffer), and Dependency Injection (DI) Containers—without the hassle of setting everything up from scratch.\n\n## Requirements\n\n- PHP 7.4 or higher\n- Node.js 20 or higher\n- [Composer](https://getcomposer.org)\n\n## Usage\n\nTo start a new plugin project, simply run:\n\n```bash\ncomposer create-project syntatis/howdy\n```\n\nThis command will set up the boilerplate files in a directory named `howdy`. It will ask you a few questions to customize your project, like the plugin slug, name, and the PHP namespaces.\n\nOnce you've input all these details, it will scope the plugin dependency libraries to prevent naming conflicts with other plugins which may also be using the same libraries. You can find the scoped dependencies in the `dist/autoload` directory.\n\n\u003e [!TIP]  \n\u003e Want to create the project in a different folder? Just add the directory name at the end of the command, like this:\n\u003e ```bash\n\u003e composer create-project syntatis/howdy awesome-plugin\n\u003e ```\n\u003e This will create the project in the `awesome-plugin` directory.  \n\u003e For more details, check out the [Composer CLI documentation](https://getcomposer.org/doc/03-cli.md#create-project).\n\nAfter the project setup is complete, run the following command within your plugin directory to start compiling the assets, like the stylesheets and the JavaScript files. It will also watch for the changes within the files and recompile them automatically.\n\n```bash\nnpm install\nnpm run start\n```\n\n## Commands\n\nCommands are available to help you with the development process. You can run these commands from the root of your plugin directory.\n\n\u003ctable\u003e\n    \u003cthead\u003e\n        \u003cth\u003eCommand\u003c/th\u003e\n        \u003cth\u003eDescription\u003c/th\u003e\n    \u003c/thead\u003e\n    \u003ctbody\u003e\n        \u003ctr\u003e\n            \u003ctd\u003e\u003ccode\u003ecomposer\u0026nbsp;scoper\u003c/code\u003e\u003c/td\u003e\n            \u003ctd\u003eScopes the plugin Composer dependencies to prevent namespace conflicts with other plugins.\u003c/td\u003e\n        \u003c/tr\u003e\n\t\t\u003ctr\u003e\n\t\t\t\u003ctd\u003e\u003ccode\u003ecomposer\u0026nbsp;build\u003c/code\u003e\u003c/td\u003e\n            \u003ctd\u003eRun the plugin build process for production i.e. updating the translation POT file, and prefixing namespace.\u003c/td\u003e\n\t\t\u003c/tr\u003e\n\t\t\u003ctr\u003e\n            \u003ctd\u003e\u003ccode\u003ecomposer\u0026nbsp;plugin:zip\u003c/code\u003e\u003c/td\u003e\n            \u003ctd\u003eCreates a zip file of the plugin for distribution. Based on the Composer \u003ccode\u003earchive\u003c/code\u003e. \u003ca href=\"https://getcomposer.org/doc/03-cli.md#archive\" target=\"blank\" rel=\"noopener\"\u003eRefer to the documentation\u003c/a\u003e for the available options to run the command.\u003c/td\u003e\n        \u003c/tr\u003e\n\t\t\u003ctr\u003e\n\t\t\t\u003ctd\u003e\u003ccode\u003enpm\u0026nbsp;run\u0026nbsp;start\u003c/code\u003e\u003c/td\u003e\n\t\t\t\u003ctd\u003eCompiles the assets, like the stylesheets and the JavaScript files, and watches for the changes within the files to recompile them automatically.\u003c/td\u003e\n\t\t\u003c/tr\u003e\n\t\t\u003ctr\u003e\n\t\t\t\u003ctd\u003e\u003ccode\u003enpm\u0026nbsp;run\u0026nbsp;build\u003c/code\u003e\u003c/td\u003e\n\t\t\t\u003ctd\u003eBuilds the assets for production. It compiles the assets, like the stylesheets and the JavaScript files, and minifies them for production use.\u003c/td\u003e\n\t\t\u003c/tr\u003e\n\t\u003c/tbody\u003e\n\u003c/table\u003e\n\n## Plugins \n\nList of plugins built with Howdy:\n\n- 🚦 [Feature Flipper](https://wordpress.org/plugins/syntatis-feature-flipper/): Disable Comments, Gutenberg, Emojis, and other features you don't need in WordPress®.\n\n## References\n\n- [WordPress Plugin Handbook](https://developer.wordpress.org/plugins/) for plugin guidelines.\n- [WordPress Plugin Boilerplate](https://github.com/DevinVinson/WordPress-Plugin-Boilerplate) for inspiration.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsyntatis%2Fhowdy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsyntatis%2Fhowdy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsyntatis%2Fhowdy/lists"}