|
1 |
| -[//]: # (#;< META) |
2 |
| - |
3 |
| -| <h1 align="center"> <img src="docs/assets/logo.png" alt="Scaffold logo" width=400px/></h1> **Generic project scaffold template** | |
4 |
| -|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| |
5 |
| -| <div align="center"> [](https://github.com/AlexSkrypnyk/scaffold/issues) [](https://github.com/AlexSkrypnyk/scaffold/pulls) [](https://github.com/AlexSkrypnyk/scaffold/actions/workflows/test-scaffold.yml) [](https://codecov.io/gh/AlexSkrypnyk/scaffold)   </div> | |
6 |
| -| <div align="center"> 📘 [Scaffold documentation](https://getscaffold.dev) </div> | |
7 |
| -| **Features**<br/><br/>- **PHP**<br> - `composer.json` config<br> - Symfony CLI command app scaffold with unit tests (with coverage) and traits<br> - Simple single-file script scaffold with unit tests (with coverage) and traits<br> - Code quality tools with configurations: PHP Code Sniffer, PHP Mess Detector, PHPStan<br>- **NodeJS**<br> - `package.json` config<br>- **CI**<br> - Lint, test and publish PHP as PHAR<br> - Build and test for NodeJS<br> - Release drafter<br> - Release asset packaging and upload<br> - PR auto-assign<br> - Funding<br>- **Utility files**<br> - Readme with badges<br> - `.editorconfig`, `.gitignore`, `.gitattributes`<br> - Init shell script to chose features | |
8 |
| -| **How to use this scaffold repository**<br/><br/>1. Click on **Use this template** > **Create a new repository**<br>2. Checkout locally <br>3. Run `./init.sh` to replace `yournamespace`, `yourproject`, `Your Name` strings with your own and choose the features. <br/>  | |
9 |
| -| This table will be removed after running `./init.sh`. | The contents below will be a part of your repository. | |
10 |
| - |
11 |
| -<br> |
12 |
| - |
13 |
| -[//]: # (#;> META) |
14 |
| - |
15 |
| - |
16 | 1 | <p align="center">
|
17 |
| - <a href="" rel="noopener"> |
18 |
| - <img width=200px height=200px src="https://placehold.jp/000000/ffffff/200x200.png?text=Yourproject&css=%7B%22border-radius%22%3A%22%20100px%22%7D" alt="Yourproject logo"></a> |
| 2 | + <a href="" rel="noopener"><img src="docs/assets/logo.png" alt="Scaffold logo" width=400px/></a> |
19 | 3 | </p>
|
20 | 4 |
|
21 |
| -<h1 align="center">yourproject</h1> |
| 5 | +<h1 align="center">Generic project scaffold template</h1> |
22 | 6 |
|
23 | 7 | <div align="center">
|
24 | 8 |
|
25 | 9 | [](https://github.com/AlexSkrypnyk/scaffold/issues)
|
26 | 10 | [](https://github.com/AlexSkrypnyk/scaffold/pulls)
|
27 |
| -[](https://github.com/AlexSkrypnyk/scaffold/actions/workflows/test-php.yml) |
28 |
| -[](https://github.com/AlexSkrypnyk/scaffold/actions/workflows/test-nodejs.yml) |
29 |
| -[](https://github.com/AlexSkrypnyk/scaffold/actions/workflows/test-shell.yml) |
| 11 | +[](https://github.com/AlexSkrypnyk/scaffold/actions/workflows/test-scaffold.yml) |
30 | 12 | [](https://codecov.io/gh/AlexSkrypnyk/scaffold)
|
31 |
| - |
32 |
| - |
33 |
| - |
| 13 | + |
| 14 | + |
| 15 | + |
34 | 16 |
|
35 | 17 | </div>
|
36 | 18 |
|
37 |
| ---- |
38 |
| - |
39 |
| -<p align="center"> Few lines describing your project. |
40 |
| - <br> |
41 |
| -</p> |
42 |
| - |
43 |
| -## Features |
44 |
| - |
45 |
| -- Your first feature as a list item |
46 |
| -- Your second feature as a list item |
47 |
| -- Your third feature as a list item |
48 |
| - |
49 |
| -## Installation |
50 |
| - |
51 |
| -[//]: # (#;< PHP) |
52 |
| - |
53 |
| - composer require yournamespace/yourproject |
54 |
| - |
55 |
| -[//]: # (#;> PHP) |
56 |
| - |
57 |
| -[//]: # (#;< NODEJS) |
58 |
| - |
59 |
| - npm install @yournamespace/yourproject |
60 |
| - |
61 |
| -[//]: # (#;> NODEJS) |
62 |
| - |
63 |
| -[//]: # (#;< SHELL) |
64 |
| - |
65 |
| -Download the latest release from GitHub releases page. |
66 |
| - |
67 |
| -[//]: # (#;> SHELL) |
68 |
| - |
69 |
| -## Usage |
70 |
| - |
71 |
| -[//]: # (#;< PHP) |
72 |
| - |
73 |
| - vendor/bin/yourproject |
74 |
| - |
75 |
| -[//]: # (#;> PHP) |
76 |
| - |
77 |
| -[//]: # (#;< NODEJS) |
78 |
| - |
79 |
| - node_modules/.bin/yourproject |
80 |
| - |
81 |
| -[//]: # (#;> NODEJS) |
82 |
| - |
83 |
| -[//]: # (#;< SHELL) |
84 |
| - |
85 |
| - ./shell-command.sh |
86 |
| - |
87 |
| -[//]: # (#;> SHELL) |
88 |
| - |
89 |
| -## Maintenance |
90 |
| - |
91 |
| -[//]: # (#;< PHP) |
92 |
| - |
93 |
| - composer install |
94 |
| - composer lint |
95 |
| - composer test |
96 |
| - |
97 |
| -[//]: # (#;> PHP) |
98 |
| - |
99 |
| -[//]: # (#;< NODEJS) |
100 |
| - |
101 |
| - npm install |
102 |
| - npm run lint |
103 |
| - npm run test |
| 19 | +<div align="center"> |
104 | 20 |
|
105 |
| -[//]: # (#;> NODEJS) |
| 21 | +📘 [Scaffold documentation](https://getscaffold.dev) |
106 | 22 |
|
107 |
| -[//]: # (#;< SHELL) |
| 23 | +</div> |
108 | 24 |
|
109 |
| - shellcheck shell-command.sh tests/bats/*.bash tests/bats/*.bats |
110 |
| - shfmt -i 2 -ci -s -d shell-command.sh tests/bats/*.bash tests/bats/*.bats |
| 25 | +## Features |
111 | 26 |
|
112 |
| - npm ci --prefix tests/bats |
113 |
| - ./tests/bats/node_modules/.bin/bats tests/bats |
| 27 | +- **Shell** |
| 28 | + - [Simple single-file script scaffold](shell-command.sh) |
| 29 | + with [BATS tests](tests/bats) (with coverage) |
| 30 | + - CI config to [Lint and test](.github/workflows/test-shell.yml) (with |
| 31 | + coverage) |
| 32 | +- **PHP** |
| 33 | + - [`composer.json`](composer.json) |
| 34 | + - [Symfony CLI command app scaffold](src/app.php) |
| 35 | + with [unit tests](tests/phpunit/Unit/Command) (with coverage) |
| 36 | + and [traits](tests/phpunit/Traits) |
| 37 | + - [Simple single-file script scaffold](php-script) |
| 38 | + with [unit tests](tests/phpunit/Functional) (with coverage) |
| 39 | + - Code quality tools with |
| 40 | + configurations: [PHP Code Sniffer](phpcs.xml), [PHP Mess Detector](phpmd.xml), |
| 41 | + [PHPStan](phpstan.neon), [Rector](rector.php) |
| 42 | + - CI config to [Lint, test](.github/workflows/test-php.yml) |
| 43 | + and [publish](.github/workflows/release-php.yml) PHP as [PHAR](box.json) |
| 44 | +- **NodeJS** |
| 45 | + - [`package.json`](package.json) |
| 46 | + - CI config to [build and test](.github/workflows/test-nodehs.yml) and test |
| 47 | + for NodeJS |
| 48 | +- **CI** |
| 49 | + - [Release drafter](.github/workflows/release-drafter.yml) |
| 50 | + - Release asset packaging and upload |
| 51 | + - [PR auto-assign](.github/workflows/assign-author.yml) |
| 52 | +- **Documentation** |
| 53 | + - [Readme with badges](README.dist.md) |
| 54 | + - [Scaffold](docs) for the documentation site |
| 55 | + using [Just the Docs theme](https://just-the-docs.com/) |
| 56 | + - [Terminalizer](assets/terminalizer.yml) configuration file |
| 57 | +- **Utility files** |
| 58 | + - [`.editorconfig`](.editorconfig), [`.gitignore`](.gitignore), [`.gitattributes`](.gitattributes) |
| 59 | + - [Renovate bot configuration](renovate.json) |
| 60 | + - [Pull request template](.github/PULL_REQUEST_TEMPLATE.md) |
| 61 | + - [Funding](.github/FUNDING.yml) |
| 62 | + - Init shell script to chose features |
| 63 | + |
| 64 | +## How to use this scaffold repository |
| 65 | + |
| 66 | +1. Click on **Use this template** > **Create a new repository** |
| 67 | +2. Checkout locally |
| 68 | +3. Run [`./init.sh`](init.sh) to replace `yournamespace`, `yourproject`, |
| 69 | + `Your Name` strings with your own and choose the features.<br/> |
| 70 | +  |
114 | 71 |
|
115 |
| -[//]: # (#;> SHELL) |
0 commit comments