Skip to content

Directory Structure

my-plugin/
├── app/                        # All PHP application code
│   ├── Bootstrap.php           # Entry point — reads config/app.php and boots each class
│   ├── Bootstraps/             # Boot classes (Loader, Router, Assets, Activator…)
│   ├── Controllers/
│   │   ├── Api/                # REST API controllers
│   │   └── Dashboards/
│   │       ├── Menu/           # Top-level admin menu controllers
│   │       └── Submenu/        # Admin submenu controllers
│   ├── Jobs/                   # Background/deferred action jobs
│   ├── Listeners/
│   │   ├── Action/             # WordPress action listeners
│   │   └── Filter/             # WordPress filter listeners
│   ├── Managers/
│   │   ├── ListenerManager.php # Scans Listeners/ and registers them
│   │   └── ProviderManager.php # Scans Providers/ and registers them
│   ├── Migrations/             # Database schema definitions
│   ├── Providers/              # Service providers (wire up DI bindings)
│   ├── Repository/
│   │   ├── Db/                 # Custom DB table repositories
│   │   ├── Wp/                 # WordPress post-type repositories
│   │   └── Taxonomy/           # WordPress taxonomy repositories
│   └── Shortcodes/             # WordPress shortcodes

├── bootstrap/
│   ├── bootstrap.php           # Loads constants, sets Config, calls Bootstrap::init()
│   └── constants.php           # NIKOGIN_DIR, NIKOGIN_URL, NIKOGIN_SLUG, etc.

├── config/
│   ├── app.php                 # Bootstrap class list
│   └── config.php              # Framework config (namespace, slug, version, paths)

├── resources/
│   ├── ts/                     # TypeScript source files
│   ├── scss/                   # SCSS source files
│   └── {view}/                 # PHP view files loaded via View::load()

├── routes/
│   └── api.php                 # REST API route definitions

├── assets/                     # Compiled frontend output (git-ignored)
│   └── .vite/manifest.json

├── nikogin                     # CLI entry point
├── nikogin.php                 # WordPress plugin header
├── vite.config.js
├── tsconfig.json
└── package.json

Nikogin Framework — WordPress plugin development made simple.