feat(01-01): boot hello app and dispatch greeter:hello

- Add party plugin registry with Register-before-Boot activation
- Add backpack, compass, bonfire, and pact capability interfaces
- Add examples/hello with two compiled plugin modules
This commit is contained in:
Jakub Zych
2026-09-16 12:57:18 +02:00
parent 552cadbdf9
commit 96a8d38be2
26 changed files with 982 additions and 0 deletions

34
pact/capabilities.go Normal file
View File

@@ -0,0 +1,34 @@
package pact
import (
"io/fs"
"git.golem15.com/golem15/summercms/bonfire"
)
// HasCommands is implemented by plugins that register console commands.
type HasCommands interface {
Commands() []bonfire.Command
}
// HasConfig is implemented by plugins that ship default YAML configuration.
// ConfigFS should contain files such as config/config.yaml, merged later at
// the plugin ID path.
type HasConfig interface {
ConfigFS() fs.FS
}
// Reserved KERN-03 capability names, declared when their first consumers exist:
//
// HasModels
// HasMigrations
// HasRoutes
// HasMiddleware
// HasJobs
// HasListeners
// HasAdminControllers
// HasNavigation
// HasPermissions
// HasSchedule
// HasMailTemplates
// HasLang