You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Contributors rely on scattered comments in #106 (closed), #155, #609 (closed), and lib/Web/ProjectManifest.php for phpc.json fields. There is no single checked-in reference at docs/phpc-json.md (called out in #155 tasks).
phpc validate-manifest (#654 ✅) enforces shape in CI, but operators still grep PHP for semantics of includes, assets, public, and future autoload.
Goal
A short, accurate manifest reference linked from README, examples/README.md, and #78 ROADMAP.
Scope
Create docs/phpc-json.md with field table + examples
Document current keys: entry, binary, public, assets, includes
Problem
Contributors rely on scattered comments in #106 (closed), #155, #609 (closed), and
lib/Web/ProjectManifest.phpforphpc.jsonfields. There is no single checked-in reference atdocs/phpc-json.md(called out in #155 tasks).phpc validate-manifest(#654 ✅) enforces shape in CI, but operators still grep PHP for semantics ofincludes,assets,public, and futureautoload.Goal
A short, accurate manifest reference linked from README,
examples/README.md, and #78 ROADMAP.Scope
docs/phpc-json.mdwith field table + examplesentry,binary,public,assets,includesautoload.psr-4(DevEx: PSR-4 autoload paths in phpc.json project manifest #155), deploy notes (AOT: phpc deploy bundles binary, public/, assets/, and phpc.json into dist/ #609 ✅, Docs: deploy-web-aot.md quickstart (phpc deploy + PHPC_DEPLOY_ROOT + nginx CGI) #635)phpc validate-manifest,PhpcValidateManifestTestField reference (from shipped examples)
entry"example.php"or"public/index.php"phpc build/--projectbinary".phpc/bin/app"phpc serve --aotreads thispublic"public"phpc serve/ deploy (#609)assets"assets"phpc deployincludes["src/Router.php", "config.php"]--projectlink (#452, #752)Minimal flat example (
examples/001-SimpleWeb/phpc.json){ "entry": "example.php", "binary": ".phpc/bin/app" }Project example (
examples/003-MiniWebApp/phpc.json){ "entry": "public/index.php", "binary": ".phpc/bin/app", "public": "public", "assets": "assets", "includes": ["src/Router.php", "config.php"] }Document that
includes[]order matters for link-time symbol resolution and that runtime templateincludepaths are separate (#623, #783, #784).Implementation hints
docs/phpc-json.mdlib/Web/ProjectManifest.phpREADME.md,examples/README.mdscript/check-docs-phpc-json.shgreps broken linksAcceptance criteria
docs/phpc-json.mdexists and matchesProjectManifestfor keys above./script/ci-fast.shstill green (doc-only PR)Dependencies
Verification
Local/Docker only — doc change; no GitHub Actions required.
Links