|
11 | 11 |
|
12 | 12 | PSFS is a lightweight PHP framework for MVC/API applications (Twig + Propel + Symfony components). |
13 | 13 |
|
14 | | -## Quick Install (Copy/Paste) |
| 14 | +## 5-minute setup |
15 | 15 |
|
16 | | -Requirements: |
17 | | -- `bash` |
18 | | -- `docker compose` or `php + composer` |
| 16 | +Prerequisites: |
19 | 17 |
|
20 | | -Using `curl`: |
| 18 | +- Docker + Docker Compose |
| 19 | +- Git |
21 | 20 |
|
| 21 | +<!-- validated --> |
22 | 22 | ```bash |
23 | | -curl -fsSL https://raw.githubusercontent.com/psfs/core/master/install.sh | bash |
| 23 | +docker compose up -d |
| 24 | +docker compose ps |
| 25 | +docker exec core-php-1 php -v |
| 26 | +docker exec core-php-1 composer install --no-interaction --prefer-dist |
24 | 27 | ``` |
25 | 28 |
|
26 | | -Using `wget`: |
| 29 | +If your PHP container name is not `core-php-1`: |
27 | 30 |
|
| 31 | +<!-- validated --> |
28 | 32 | ```bash |
29 | | -wget -qO- https://raw.githubusercontent.com/psfs/core/master/install.sh | bash |
| 33 | +docker compose ps |
| 34 | +docker ps --format '{{.Names}}' |
30 | 35 | ``` |
31 | 36 |
|
32 | | -The installer downloads and runs the official PSFS project generator. |
| 37 | +## Daily command map |
33 | 38 |
|
34 | | -## Create a Project |
| 39 | +<!-- example-only --> |
| 40 | +```bash |
| 41 | +# Run key tests |
| 42 | +docker exec core-php-1 php vendor/bin/phpunit --no-coverage --filter '/(AuthApiTest|RequestResponseSecurityContractTest)/' |
35 | 43 |
|
36 | | -Interactive: |
| 44 | +# List PSFS CLI commands |
| 45 | +docker exec core-php-1 php src/bin/psfs list |
37 | 46 |
|
38 | | -```bash |
39 | | -./scripts/create-psfs-project.sh |
| 47 | +# Security local pre-check (act) |
| 48 | +act push --container-architecture linux/amd64 |
40 | 49 | ``` |
41 | 50 |
|
42 | | -Non-interactive: |
| 51 | +## Choose your path |
43 | 52 |
|
44 | | -```bash |
45 | | -./scripts/create-psfs-project.sh \ |
46 | | - --non-interactive \ |
47 | | - --name my-psfs-app \ |
48 | | - --path /tmp/my-psfs-app \ |
49 | | - --runtime docker \ |
50 | | - --package acme/my-psfs-app \ |
51 | | - --description "My PSFS app" \ |
52 | | - --author "Your Name" |
53 | | -``` |
| 53 | +### Onboarding path |
54 | 54 |
|
55 | | -Remote install with flags: |
| 55 | +1. Read [Operations Playbook](./doc/OPERATIONS.md) |
| 56 | +2. Read [DTO Validation Engine](./doc/DTO_VALIDATION.md) |
| 57 | +3. Execute the "First day" flow |
| 58 | +4. Use troubleshooting matrix when blocked |
56 | 59 |
|
57 | | -```bash |
58 | | -curl -fsSL https://raw.githubusercontent.com/psfs/core/master/install.sh | bash -s -- \ |
59 | | - --non-interactive \ |
60 | | - --name my-psfs-app \ |
61 | | - --runtime docker \ |
62 | | - --package acme/my-psfs-app |
63 | | -``` |
| 60 | +### Core contributor path |
| 61 | + |
| 62 | +1. Read [Operations Playbook](./doc/OPERATIONS.md) |
| 63 | +2. Read [DTO Validation Engine](./doc/DTO_VALIDATION.md) |
| 64 | +3. Read [Propel Workflow](./doc/PROPEL_WORKFLOW.md) |
| 65 | +4. Run key tests and validate changes in Docker |
64 | 66 |
|
65 | | -## What the Generator Does |
| 67 | +## Propel models and migrations |
66 | 68 |
|
67 | | -- Detects `local` runtime (`php` + `composer`) and `docker` runtime (`docker compose`). |
68 | | -- If both are available in interactive mode, prompts for runtime selection. |
69 | | -- Generates PSFS base structure (`config`, `html`, `src`, `cache`, `logs`, `locale`). |
70 | | -- Generates initial `composer.json`. |
71 | | -- For Docker runtime, generates `docker-compose.yml`, `docker/php.ini`, and `.env.example`. |
72 | | -- Does not auto-run dependency install or container startup. |
| 69 | +For operational Propel flow (schema, model generation context, migration execution, rollback, failure modes), see: |
| 70 | + |
| 71 | +- [Propel Workflow](./doc/PROPEL_WORKFLOW.md) |
73 | 72 |
|
74 | | -## Documentation |
| 73 | +## Documentation index |
75 | 74 |
|
76 | 75 | - [Operations Playbook](./doc/OPERATIONS.md) |
77 | 76 | - [DTO Validation Engine](./doc/DTO_VALIDATION.md) |
78 | 77 | - [Propel Workflow](./doc/PROPEL_WORKFLOW.md) |
79 | | -- [Core Contracts](./doc/CONTRACTS.md) |
80 | 78 |
|
81 | | -## Notes |
| 79 | +## Rules |
82 | 80 |
|
83 | | -- Runtime baseline for this repository is Docker Compose with PHP 8.3. |
84 | | -- For project internals and contributor workflows, use the docs listed above. |
| 81 | +- Run project commands inside Docker containers. |
| 82 | +- Keep command blocks explicitly tagged as `validated` or `example-only`. |
0 commit comments