Commit graph

13 commits

Author SHA1 Message Date
Snider
dc064cbb61 feat: promote PHP commands to root in core-php binary
Some checks failed
CI / PHP 8.4 (push) Failing after 1m51s
CI / PHP 8.3 (push) Failing after 1m58s
AddPHPRootCommands registers commands directly on root so
the standalone binary uses `core-php dev` not `core-php php dev`.
AddPHPCommands remains for use inside the `core` CLI.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 18:47:55 +00:00
Snider
4b24a6d186 feat: add claude plugin for PHP/Laravel development
Some checks failed
CI / PHP 8.4 (push) Failing after 1m51s
CI / PHP 8.3 (push) Failing after 2m4s
Skills: php, php-agent, laravel
API: route generation (TS/JS/OpenAPI from Laravel routes)
Hooks: auto-format PHP with Pint, debug statement warnings
2026-03-09 18:15:42 +00:00
Snider
8baf48d4fc docs: update README badges and install command to lthn/php
Some checks failed
CI / PHP 8.3 (push) Failing after 1m56s
CI / PHP 8.4 (push) Failing after 2m0s
2026-03-09 18:00:12 +00:00
Snider
4b2b5d6350 feat: rename package to lthn/php for Packagist distribution
Some checks failed
CI / PHP 8.4 (push) Failing after 1m57s
CI / PHP 8.3 (push) Failing after 2m0s
- composer.json name: core/php → lthn/php
- replace directive keeps backward compat with core/php consumers
- .gitattributes excludes Go code, Docker, tests, build files from dist

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-09 17:56:14 +00:00
Snider
25df6996e6 feat(plug): add contract interfaces and Registry::register() method
Some checks failed
CI / PHP 8.3 (push) Failing after 1m55s
CI / PHP 8.4 (push) Failing after 1m55s
Move 8 plug contract interfaces (Authenticable, Commentable, Deletable,
Listable, MediaUploadable, Postable, Readable, Refreshable) from the
Laravel app into the framework under Core\Plug\Contract namespace. Add
register() method to Registry so extracted packages can self-register
their providers without filesystem scanning.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 17:25:40 +00:00
Snider
a9c1afe492 refactor(php): remove QA CLI commands — moved to core/lint
Some checks failed
CI / PHP 8.3 (push) Failing after 1m55s
CI / PHP 8.4 (push) Failing after 1m55s
QA subcommands (fmt, stan, psalm, audit, security, rector, infection,
test, qa) now live in core/lint cmd/qa/. Library code (quality.go,
testing.go) retained for cmd_ci.go.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 13:27:08 +00:00
Snider
ad8af2fb83 feat: merge go-php Go CLI into core/php
Some checks failed
CI / PHP 8.4 (push) Failing after 2m5s
CI / PHP 8.3 (push) Failing after 2m10s
Merge all Go code from core/go-php into core/php, creating a dual-language
repo (Go CLI + PHP framework). Module path: forge.lthn.ai/core/php.

- PHP dev/build/deploy/QA commands (cmd_*.go)
- FrankenPHP handler + bridge (handler.go, bridge.go)
- Standalone binary entry point (cmd/core-php/)
- Build/release configs (.core/)
- Full test suite

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-06 17:50:01 +00:00
Snider
28d004ff61 feat: replace Go CLI with PHP framework
Some checks failed
CI / PHP 8.4 (push) Failing after 1m54s
CI / PHP 8.3 (push) Failing after 1m58s
Go CLI commands moved to core/go-php. This repo now contains
the Laravel modular monolith framework (previously php-framework).

- Remove all Go files (now in core/go-php)
- Add PHP framework: event-driven module loading, lifecycle events
- Composer package: core/php
- core/php-framework remains as-is for backward compat

Co-Authored-By: Virgil <virgil@lethean.io>
2026-03-06 08:49:51 +00:00
Claude
81fbbac1f6
feat(ci): use lthn/build:php container image
Replace setup-php action with pre-built lthn/build:php-* container
images. Eliminates ~50s PHP setup overhead per matrix job.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 13:45:43 +00:00
Claude
b2692e27fe
fix: clone path dependencies using runner token on CI
Use GITHUB_TOKEN to clone sister packages (host-uk/core, etc.) that are
referenced as path repositories in composer.json. These packages aren't
on Packagist so CI needs to clone them alongside the main repo.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 04:56:56 +00:00
Claude
d231c72661
fix: make reusable workflow resilient to missing test runners
Detect whether pest, phpunit, or pint are installed before running them.
Repos without test runners will skip gracefully instead of failing with
"No such file or directory".

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-23 04:55:04 +00:00
Claude
9604b08d61
ci: add reusable PHP test workflow for Forgejo Actions
Callable from any core/php-* repo:
  uses: core/php/.forgejo/workflows/php-test.yml@main

Inputs: php-version (JSON array), extensions, coverage, pint.

Co-Authored-By: Charon <charon@lethean.io>
2026-02-23 01:20:35 +00:00
Claude
6cb5957ca6
feat: extract PHP/Laravel commands from core/cli
Port all PHP command files from core/cli internal/cmd/php/ into a
standalone module. Inlines workspace dependency to avoid cross-module
internal imports.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 14:40:59 +00:00