bootgly/bootgly

The Bootgly PHP Framework.

Maintainers

Package info

github.com/bootgly/bootgly

pkg:composer/bootgly/bootgly

Fund package maintenance!

bootgly

Statistics

Installs: 52

Dependents: 6

Suggesters: 0

Stars: 214

Open Issues: 8


README

bootgly-logo

Bootgly

Base PHP Framework for Multi Projects.

Github Actions - Bootgly Workflow Github Actions - Docker Workflow Github Actions - PHPStan Workflow
Bootgly License

Bootgly is the first PHP framework to use the I2P (Interface-to-Platform) architecture.

Warning

🚧 DO NOT USE IT IN PRODUCTION ENVIRONMENTS. 🚧

Bootgly is in beta testing. A major version (1.0) is soon to release.

Documentation is under construction.

Table of Contents

🤔 About

Bootgly is a base framework for developing APIs and Apps for both CLI (Console) 📟 and WPI (Web) 🌐.

"Bootgly is focused on efficiency and follows a minimum dependency policy. Thanks to this approach, its unique I2P architecture, along with some uncommon code conventions and design patterns, allows Bootgly to offer superior performance while providing an easy-to-understand Code APIs."

Core Principles

Principle Description
📦 Minimum dependency No third-party packages in the framework core. Every feature is built-in and fully integrated, maximizing cohesion and reducing supply-chain risk.
🔒 One-way policy There is exactly one canonical way to do each thing — one HTTP server, one config schema, one autoloader, one test framework. This avoids confusion, reduces maintenance burden and keeps AI-generated code precise.
🧱 Strict layer separation Six interfaces (ABI → ACI → ADI → API → CLI → WPI) with a strict dependency direction — no cross-layer skipping allowed. Each top-level interface creates a Platform through the I2P architecture: CLI creates the Console platform, WPI creates the Web platform. Future platforms: AI (from ADI), Graphics (from GUI), Embedded, Mobile.

Bootgly CLI 📟

Command Line Interface

For the base CLI development, Bootgly already has the following UI Components: Alert, Fieldset, Header, Menu, Progress, Table.

Bootgly WPI 🌐

Web Programming Interface

  • Interface: WPI
  • Platform: Web (IN DEVELOPMENT)

For the base Web development, Bootgly has a HTTP Server CLI, a TCP Client CLI and a TCP Server CLI.

More news may come until the release of v1.0. Stay tuned.

🟢 Boot Requirements

🤝 Compatibility

Operation System
✅ Linux (Debian based)
❌ Windows
❔ Unix

--

✅ = Compatible

❌ = Incompatible

❔ = Untested

Above is the native compatibility, of course it is possible to run on Windows and Unix using Docker containers.

⚙️ Dependencies

  • PHP 8.2+ ⚠️
  • Opcache + JIT enabled (+50% performance) 👍

- Bootgly CLI 📟

  • php-cli ⚠️
  • php-mbstring 👍
  • php-readline ⚠️

- Bootgly WPI 🌐

  • rewrite module enabled ⚠️

--

⚠️ = Required

👍 = Recommended

🌱 Community

Join us and help the community.

Love Bootgly? Give our repo a star ⭐!

💻 Contributing

Wait for the "contributing guidelines" to start your contribution.

🛂 Code of Conduct

Help us keep Bootgly open and inclusive. Please read and follow our Code of Conduct.

🔗 Social networks

💖 Sponsorship

A lot of time and energy is devoted to Bootgly projects. To accelerate your growth, if you like this project or depend on it for your stack to work, consider sponsoring it.

Your sponsorship will keep this project always up to date with new features and improvements / bug fixes.

🚀 Getting started

📟 Bootgly CLI

Run Bootgly CLI demo
  1. Run the Bootgly CLI demo in terminal:
php bootgly demo
Setup Bootgly CLI globally
  1. Run the Bootgly CLI setup command in terminal (with sudo):
sudo php bootgly setup
Perform Bootgly tests
  1. Check the global bootstrap tests file tests/@.php;
  2. Run the Bootgly CLI test command in terminal:
bootgly test

You can also run specific suites or test files by index:

bootgly test 16
bootgly test 16 1

🌐 Bootgly WPI

Running a HTTP Server
  1. Configure the Bootgly HTTP Server CLI project in projects/HTTP_Server_CLI/HTTP_Server_CLI.project.php file;
  2. Run the Bootgly HTTP Server CLI in the terminal:
bootgly project run HTTP_Server_CLI

Routing HTTP Requests on the Server-side

Check the documentation for more details and examples: Bootgly Docs.

🖼 Highlights

- Bootgly CLI 📟

Bootgly CLI - initial output
Progress component (with Bar) - Render ≈7x faster than Laravel / Symfony

- Bootgly WPI 🌐

Bootgly HTTP Server CLI (wrk benchmark) - +7% faster than Workerman in the Plain Text test
HTTP Server CLI - started in monitor mode

More Screenshots, videos and details can be found in the home page of Bootgly Docs.

📃 License

The Bootgly is open-sourced software licensed under the MIT license.

📑 Versioning System

Bootgly uses Semantic Versioning 2.0.