This directory documents GOWDK compiler behavior and generated-output contracts.
Current Status
Implemented today:
- Recursive
.gwdkdiscovery throughinternal/discover. - Page and component metadata parsing through
internal/parser. - IR-derived manifest JSON and site-map reports through
internal/lang. - Render-rule, duplicate identity, redundant component, and component contract
validation through
internal/compiler. - SPA
view {}markup and component invocation parsing throughinternal/view. - Imported Go props/state contract resolution through
internal/gotypes. - Route-binding metadata for
gowdk routesthroughinternal/compiler. - App-shell HTML, route manifest, and asset manifest emission for simple build-time
pages, literal build data, imported Go build data functions, literal dynamic
paths, components, partial runtime assets, and island runtime assets through
internal/buildgen. - Mandatory SPA build reports through
internal/buildgen, written asgowdk-build-report.jsonfor disk builds and returned on build errors. - Generated embedded app source and optional binary compilation through
internal/appgen, including supported action/API/fragment handlers, form input decoder and required-field validation wrappers, CSRF wiring, guards, concrete or dynamic SSR routes with declaredload {}fields, and concrete or dynamic hybrid request-time routes with or without declaredload {}fields. - SPA
gowdk.config.goloading for build source discovery, build targets, and output throughinternal/project. - CLI tools for
tokens,fmt,check,manifest,sitemap,build, andlsp.
Not implemented yet:
- Full AST/semantic/type analysis beyond the current component contract slice.
- Full component compilation, arbitrary
build {}statements beyond expression records, and fullpaths {}execution. - Broader generated-client reactivity beyond explicit reload/fragment outcomes.
- Hybrid streaming, data refresh, and non-HTTP revalidation.
Documents
pipeline.md: current and target compile pipeline.project-structure.md: current source inputs and planned project layout.generated-output.md: planned generated artifacts and current limitations.browser-compiler.md: browser-facing partial runtime, JavaScript islands, and component-level WASM island behavior.build-report.md: generated build report schema and CLI debug output.manifest.md: manifest and site-map JSON contracts.