# Documentation for developpers This package is the the main SeaCMS package. ## Installation - install [`git`](https://git-scm.com/downloads) - install [`composer`](https://getcomposer.org/download/) - clone repository ```bash git clone https://git.defis.info/SeaCMS/seacms.git seacms ``` - choose the folder name by replacing `seacms` in the command line by the wanted path or (equivalent to `git clone`) ```bash mkdir seacms cd seacms git init git remote add origin https://git.defis.info/SeaCMS/seacms.git git fetch --all git checkout master ``` - then start `composer install` ### If you want use one dependency in local - create the file `main-config.json` in root folder - keep on branch `master` - put this This will use symlink to these folders only if existing ``` { "local-repositories": { "composer-plugin": "seacms/composer-plugin", "pico-content-editor": "seacms/pico-content-editor", "pico": { "packageName": "picocms/pico", "version": "dev-fix-compatibility-php8" }, "seacms-app": "seacms/seacms-app", "seacms-api": "seacms/seacms-api", "seacms-auth": "seacms/seacms-auth", "seacms-theme": "seacms/seacms-theme" } } ``` - type `composer update` in command line - be careful not to push `composer.lock` to main repo if you don't know what you are doing If trouble during `composer update`, you can: 1. clear cache `composer cc` 2. delete folder `vendor` before `composer update` ## TODO - [ ] set contact addresses into `CODE_OF_CONDUCT.md` files - [ ] update `composer.json` file as described below - [ ] create a `SUPPORT.md` file at the root - [ ] update content of `.github/CONTRIBUTING.md` - [ ] check content of `.github/PULL_REQUEST_TEMPLATE.md` - [ ] update docs (French + English) for installation ## `composer.json` file This files needs to be updated. Currently, it uses `"minimum-stability": "dev",` to allow usage of `alpha` revisions of packages. ### TODO add these fields : ```json "name": "TODO To be defined", "description": "TODO to complete", "homepage": "TODO To set", "authors": [ { "name": "xxx", "email": "TODO complete", "homepage": "TODO complete", "role": "Developer" }, { "name": "xxx", "email": "TODO complete", "homepage": "TODO complete", "role": "Developer" }, ], "support": { "email": "support@example.org", "issues": "url", "source": "url", "docs": "url", "chat": "url", "rss": "url", }, "funding": [ { "type": "patreon", "url": "https://www.patreon.com/phpdoctrine" }, { "type": "tidelift", "url": "https://tidelift.com/subscription/pkg/packagist-doctrine_doctrine-bundle" }, { "type": "other", "url": "https://www.doctrine-project.org/sponsorship.html" } ] ``` ## `.github` folder It was choosen to name the folder as `.github` to allow compatibility for forks on GitHUb even if the folder could be named `.gitea`. ## reserved folders' name - `vendor` for composer - `node_modules` for `npm` and `yarn` - `archives` for archives' creation - `sites` for subsites on a farm - `public` for assets `public/img` `public/js` `public/css` , .... - `p` for main content path