From 1867e75177175422f3ad6d1e46a07ebd5f55e89c Mon Sep 17 00:00:00 2001 From: Valentin Lab Date: Fri, 10 Oct 2025 08:19:43 +0200 Subject: [PATCH] new: doc: added ``AGENTS.md`` and small addition of a french paragraph --- AGENTS.md | 74 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ README.md | 30 +++++++++++++++++----- 2 files changed, 98 insertions(+), 6 deletions(-) create mode 100644 AGENTS.md diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 00000000..85aa71e4 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,74 @@ +# Repository Guidelines + +## Project Structure & Module Organization + +OpenSem builds on Laravel 9. + +Core application code lives in `app/`, while HTTP routes reside in +`routes/` and Blade views in `resources/views/`. Reusable front-end +assets (JS, SCSS, images) sit under `resources/` and are compiled into +`public/` via Laravel Mix. + +Database blueprints are versioned in `database/migrations/` with seeds +in `database/seeders/`. + +Tests are organised in `tests/Unit/` and `tests/Feature/`; keep large +fixtures in `tests/Fixtures/` to avoid polluting source directories. + +## Build, Test, and Development Commands + +- `composer install` — install PHP dependencies defined in + `composer.json`. + +- `php artisan serve` — start a local HTTP server on port 8000. + +- `npm install && npm run dev` — install Node tooling and build UI + assets for development. + +- `npm run prod` — generate minified production assets in `public/`. + +- `php artisan migrate --seed` — apply database schema and load + default data for demo instances. + +- `./build.sh` — builds a `.tar.xz` that contains the production and + deployement ready source to be deployed. + +## Coding Style & Naming Conventions + +Follow PSR-12 with four-space indentation and `snake_case` database +columns. Controllers, models, and Livewire components use StudlyCase +class names; private methods remain `camelCase`. Run `composer run +inspect` before opening a PR to execute `phpcs` and `phpstan`. For +front-end changes, keep Blade sections in lowercase kebab IDs (for +example, `@section('order-summary')`). + +## Testing Guidelines + +Use PHPUnit via `php artisan test`; target deterministic tests with +clear Arrange/Act/Assert blocks. Feature tests should mirror top-level +route names (e.g., `OrdersTest.php`). Unit tests belong in +`tests/Unit/` and should stub external services. When adding +migrations or service integrations, include coverage that exercises +failure paths. For granular checks, `./vendor/bin/phpunit --filter +FooTest` is acceptable, but always run the full suite before pushing. + +## Commit & Pull Request Guidelines + +Commits in this repo mix Conventional Commit prefixes (`new:`, `fix:`, +`chg:`); `fix: prevent null totals`. Keep messages in the imperative +mood and reference ticket IDs when available. + +Pull requests must describe scope, list schema or configuration +changes, and note any manual follow-up (cron, storage links, +queues). + +Attach screenshots or terminal logs when touching UI or console +output, and ensure CI scripts (when available) pass. + +## Environment & Security Notes + +Copy `.env.example` to `.env` and run `php artisan key:generate` +before local work. Never commit `.env`, `storage/`, or database dumps +containing sensitive data. Use the Docker resources in `docker/` only +for reproducible environments; keep secrets in your host overrides, +not in version control. diff --git a/README.md b/README.md index 8a743cea..2ccaf153 100644 --- a/README.md +++ b/README.md @@ -1,10 +1,19 @@ ## A propos de OpenSem -OpenSem est une solution de commerce électronique et un ERP développé pour les besoins exprimés. +OpenSem est une solution de commerce électronique et un ERP développé +pour les besoins exprimés. + +Développée par Ludovic Candellier en étroite relation avec +Jardin'Envie. + +L'application est écrite en PHP et est basée sur Laravel. ## About Laravel -Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experience to be truly fulfilling. Laravel takes the pain out of development by easing common tasks used in many web projects, such as: +Laravel is a web application framework with expressive, elegant +syntax. We believe development must be an enjoyable and creative +experience to be truly fulfilling. Laravel takes the pain out of +development by easing common tasks used in many web projects, such as: - [Simple, fast routing engine](https://laravel.com/docs/routing). - [Powerful dependency injection container](https://laravel.com/docs/container). @@ -14,12 +23,21 @@ Laravel is a web application framework with expressive, elegant syntax. We belie - [Robust background job processing](https://laravel.com/docs/queues). - [Real-time event broadcasting](https://laravel.com/docs/broadcasting). -Laravel is accessible, powerful, and provides tools required for large, robust applications. +Laravel is accessible, powerful, and provides tools required for +large, robust applications. ## Learning Laravel -Laravel has the most extensive and thorough [documentation](https://laravel.com/docs) and video tutorial library of all modern web application frameworks, making it a breeze to get started with the framework. +Laravel has the most extensive and thorough +[documentation](https://laravel.com/docs) and video tutorial library +of all modern web application frameworks, making it a breeze to get +started with the framework. -If you don't feel like reading, [Laracasts](https://laracasts.com) can help. Laracasts contains over 1500 video tutorials on a range of topics including Laravel, modern PHP, unit testing, and JavaScript. Boost your skills by digging into our comprehensive video library. +If you don't feel like reading, [Laracasts](https://laracasts.com) can +help. Laracasts contains over 1500 video tutorials on a range of +topics including Laravel, modern PHP, unit testing, and +JavaScript. Boost your skills by digging into our comprehensive video +library. -The Laravel framework is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT). +The Laravel framework is open-sourced software licensed under the [MIT +license](https://opensource.org/licenses/MIT).