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
Project-aware compiler commands currently require gowdk.config.go even when the user passes explicit .gwdk files. This is appropriate for builds and feature-complete project validation, but it prevents basic parser, language, and project-independent semantic checks in a scratch directory or before a project has been initialized.
fmt and tokens can already operate directly on files; check should have a similarly useful standalone lane while preserving a separate full project check.
Problem
Requiring project configuration before any explicit-file validation creates unnecessary coupling between language tooling and project/build policy. It also makes editor onboarding, minimal reproductions, syntax experiments, and bug reports harder.
At the same time, silently inventing project settings would be unsafe for source that depends on modules, addons, Go package binding, environment contracts, layouts, or other project context.
Proposed direction
Define a deterministic standalone checking mode for explicit files:
parse and recover syntax;
build the source-local AST/semantic model;
run validations that require no project configuration;
use documented neutral defaults only where semantics are unambiguous;
report a focused project_config_required-style diagnostic for checks that genuinely require project context.
The CLI may select this automatically when explicit files are provided and no config exists, or expose it explicitly through a flag such as --standalone. Full project checking remains available through the discovered or supplied config.
Acceptance criteria
A user can run a documented single-file check in a directory without gowdk.config.go.
Standalone mode performs syntax, declaration, source-local route shape, view, and other project-independent validation.
Features requiring addons, module discovery, cross-file layouts/components, Go bindings, lifecycle configuration, or deployment/environment policy produce specific context-required diagnostics rather than causing all checking to fail up front.
Standalone mode does not execute config packages, external addons, build functions, or project hooks.
Full project mode remains the authoritative validation for build, generated apps, and project-wide uniqueness/binding checks.
CLI output clearly says whether the check was standalone or project-aware when that distinction affects coverage.
LSP and editor tooling can reuse the same project-independent validation lane for detached files.
Tests cover a valid isolated file, malformed syntax, a project-dependent feature, and the same file under a real project config.
Getting-started, CLI, and diagnostics documentation explain the boundary.
Priority
Medium
Context
Project-aware compiler commands currently require
gowdk.config.goeven when the user passes explicit.gwdkfiles. This is appropriate for builds and feature-complete project validation, but it prevents basic parser, language, and project-independent semantic checks in a scratch directory or before a project has been initialized.fmtandtokenscan already operate directly on files;checkshould have a similarly useful standalone lane while preserving a separate full project check.Problem
Requiring project configuration before any explicit-file validation creates unnecessary coupling between language tooling and project/build policy. It also makes editor onboarding, minimal reproductions, syntax experiments, and bug reports harder.
At the same time, silently inventing project settings would be unsafe for source that depends on modules, addons, Go package binding, environment contracts, layouts, or other project context.
Proposed direction
Define a deterministic standalone checking mode for explicit files:
project_config_required-style diagnostic for checks that genuinely require project context.The CLI may select this automatically when explicit files are provided and no config exists, or expose it explicitly through a flag such as
--standalone. Full project checking remains available through the discovered or supplied config.Acceptance criteria
gowdk.config.go.build, generated apps, and project-wide uniqueness/binding checks.Related
gowdk.config.goloading under one explicit execution model #665 decides the authoritative project configuration execution model.