Skip to content

Latest commit

 

History

History
86 lines (66 loc) · 3.2 KB

README.md

File metadata and controls

86 lines (66 loc) · 3.2 KB

GOWDK Language

This directory documents the current .gwdk source contract. Application business logic, persistence, authorization, and production policy remain normal Go code.

Minimal Page

package pages

route "/"
guard public

build {
  => { title: "GOWDK ships apps" }
}

view {
  <main>
    <h1>{title}</h1>
  </main>
}

Contract Sources

  • Conformance Corpus is the machine-checked source of truth for accepted and rejected syntax.
  • Grammar describes the current parser grammar.
  • Syntax documents lexical rules and accepted source forms.
  • Semantics documents validation and render-mode rules.
  • Specification is the compact language overview.
  • Stability records construct stability and deprecation tiers.
  • V1 Language Budget defines what stays core, experimental, or outside the language and gates new syntax proposals.

When prose and parser behavior disagree, fix the prose and the conformance coverage in the same change. Do not treat a planned form in a topic page as accepted syntax.

Topic Guide

Area Documents
Structure and data Blocks, data, guards, and layouts
Markup and components Markup, components, and partials
Backend endpoints Actions, APIs, and forms
Request-time rendering SSR and hybrid
Security policy source Audit files
Tooling Formatting, diagnostics, and conformance

Route validation, generated route metadata, and output paths live in the Routing Reference. Compiler file discovery and project layout live in Project Structure.

File Kinds

Current discovery uses source declarations and suffixes:

  • *.cmp.gwdk, or a file containing component, identifies a component.
  • *.layout.gwdk identifies a layout file.
  • *.audit.gwdk identifies an audit policy file consumed by gowdk audit.
  • Other .gwdk files are treated as pages by default.
  • .asset.gwdk is reserved for asset-adjacent classification; current support and limits are documented in Project Structure.

File classification does not imply that every planned semantic or rendering capability is complete. Check the relevant topic page and Product Requirements for current maturity.

Change Requirements

A public language change must update:

  1. Its classification and proposal answers in the v1 language budget, then the relevant topic page and grammar or syntax page.
  2. The accept/reject conformance corpus or named integration coverage.
  3. Stable diagnostics and the Diagnostic Code Reference, when applicable.
  4. Compiler IR, generated-output contracts, and examples affected by the change.
  5. Product requirements when capability status changes.

Use the Syntax Contributor Checklist for the complete implementation path.