Skip to main content
This section is for engineers working on Core — adding features, fixing bugs, and releasing new versions. If you are building a client application with Core, see Getting Started instead.

Repository Structure

inly-core/
├── src/                    PHP backend (Actions, Tables, Pages, Services, Models)
├── resources/
│   ├── js/core/            React components and frontend assets
│   └── css/                Core styles
├── stubs/laravel/          Project template (published to client projects on install)
├── docs/                   This documentation
├── tests/                  Pest test suite
└── bin/                    Release and deployment scripts

The Stubs Directory

stubs/laravel/ contains files that are published to client projects when they run php artisan core:install or php artisan core:update. This includes:
  • Application scaffolding (models, enums, helpers, layouts)
  • .cursor/skills/ — agent skills for client projects
  • CI/CD configuration templates
  • AGENT.md and README.md templates
When adding a new feature that requires client-side configuration, add its stub to stubs/laravel/ and ensure core:install and core:update publish it correctly.

Local Development with a Client Project

The fastest way to develop Core against a real client project is to symlink Core into the project:
# From the client project directory
php artisan core:symlink
This replaces vendor/inly/core with a symlink to your local Core repository. Changes to Core take effect immediately. Restore the proper vendor installation before committing:
composer install

Writing Documentation

Documentation lives in docs/ and is served by Mintlify. When shipping a new feature:
  1. Create or update the relevant page in docs/
  2. Add it to the navigation in docs/docs.json
  3. Follow the write-docs skill conventions
Use the write documentation skill in Cursor for guidance on Mintlify components and style.

Further Reading

Package Structure

Directory layout, publishing system, and how stubs work.

Versioning & Releases

Branch strategy, semver, and how to cut a release.

Testing

Running tests, the Testbench setup, and CI environment.