Documentation
¶
Overview ¶
Package scaffold renders a generated Ridu application without overwriting existing project files.
Index ¶
- func Create(options Options) (string, error)
- func ParsePackageManager(value string) (projectfile.PackageManager, error)
- func ResolveTarget(value string, inPlace bool) (string, string, error)
- func ValidateTarget(value string, inPlace bool) error
- type Options
- type PackageManagerDefinition
- type Template
- type TemplateDefinition
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Create ¶
Create validates and renders a project before installing it. New directories are installed atomically; in-place creation checks all destinations first.
func ParsePackageManager ¶
func ParsePackageManager(value string) (projectfile.PackageManager, error)
ParsePackageManager validates a package-manager name. Empty selects npm for new projects; legacy projects without the ridu.toml key are handled by projectfile.File.FrontendPackageManager instead.
func ResolveTarget ¶ added in v0.2.1
ResolveTarget returns the absolute path and package-safe project name. Existing directory names are normalized only for explicit in-place creation.
func ValidateTarget ¶
ValidateTarget checks the path rules and availability used by project creation without writing a staging directory. Interactive clients use it to report mistakes before the user confirms the scaffold.
Types ¶
type Options ¶
type Options struct {
Target string
// InPlace explicitly permits installing into an existing directory.
InPlace bool
ModulePath string
NPMScope string
FrameworkVersion string
Template Template
Agent agentdocs.Selection
Database projectfile.DatabaseAdapter
PackageManager projectfile.PackageManager
}
Options describes one generated project.
type PackageManagerDefinition ¶
type PackageManagerDefinition struct {
Name projectfile.PackageManager
Label string
Description string
}
PackageManagerDefinition is stable CLI-facing metadata for one supported frontend dependency manager.
func PackageManagers ¶
func PackageManagers() []PackageManagerDefinition
PackageManagers returns supported managers in user-facing display order.
type Template ¶
type Template string
Template identifies one embedded project starting point. Templates share the same runtime and generated-contract boundaries; they differ only in the application-owned example content installed at time zero.
func ParseTemplate ¶
ParseTemplate validates a template name. Empty selects the backward- compatible starter so existing non-interactive invocations remain stable.
type TemplateDefinition ¶
TemplateDefinition is stable CLI-facing metadata for an embedded template.
func Templates ¶
func Templates() []TemplateDefinition
Templates returns the embedded templates in their user-facing display order.