The official command-line installer for creating new CiSkeleton projects.
CiSkeleton Installer creates a new project, retrieves the required CiSkeleton packages, and assembles them into the standard CiSkeleton project structure.
- PHP 8.0 or newer
- Git
- Composer
Install the installer globally with Composer:
composer global require ciskeleton/installerMake sure your Composer global bin directory is available in your system PATH.
You can find the directory with:
composer global config bin-dir --absoluteVerify the installation:
csk --helpCreate a new project:
csk new my-projectOr provide an absolute path:
csk new /path/to/my-projectAfter creating the project:
cd my-project
php -S localhost:8000 index.phpThe PHP development server is intended for local development and testing. For production deployments, use a suitable web server and PHP configuration.
A new project is assembled from the required CiSkeleton repositories.
| Package | Repository | Destination |
|---|---|---|
| Core | ciskeleton/core |
system/ |
| Application | ciskeleton/app-default |
application/ |
| English language | ciskeleton/lang-english |
system/language/english/ |
| Common | ciskeleton/common |
content/common/ |
The installer also publishes the contents of application/public/ into the project root.
This provides the standard public entry point and web-accessible files, such as:
index.php
.htaccess
content/
A newly created project will look roughly like this:
my-project/
├── application/
├── system/
│ └── language/
│ └── english/
├── content/
│ └── common/
├── index.php
└── .htaccess
The exact structure may evolve as the CiSkeleton project develops.
The installer performs the work required to assemble a functional CiSkeleton project, including:
- Creating the destination directory.
- Retrieving the required CiSkeleton repositories.
- Installing each package into its designated directory.
- Publishing the application's public files to the project root.
- Validating the resulting project structure.
The installer does not modify your existing projects.
Clone this repository:
git clone https://github.com/ciskeleton/installer.git
cd installerRun the installer directly:
php bin/csk new ../demo-projectOn Unix-like systems, you can also make the script executable:
chmod +x bin/csk
./bin/csk new ../demo-projectTo test a local checkout as a global Composer package, register it as a path repository:
composer global config repositories.installer '{"type":"path","url":"/absolute/path/to/installer","options":{"symlink":true}}'
composer global require ciskeleton/installer:@devThen:
csk new demo-projectWhen finished, remove the local installation and repository configuration:
composer global remove ciskeleton/installer
composer global config --unset repositories.installerValidate the Composer package metadata:
composer validate --strictCheck PHP syntax:
composer lintBefore submitting changes, create a test project and verify that the generated project can be started successfully.
Contributions are welcome.
See CONTRIBUTING.md for development requirements and contribution guidelines.
If you discover a security vulnerability, please report it privately rather than opening a public issue.
See SECURITY.md for reporting instructions.
CiSkeleton Installer is licensed under the MIT License.
See LICENSE.md for the complete license text.