generator

package
v0.0.0-...-c8c66a8 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 10, 2025 License: MIT Imports: 15 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func DefaultAuthGeneratorOptions

func DefaultAuthGeneratorOptions(projectName, outputPath string) models.AuthGeneratorOptions

DefaultAuthGeneratorOptions returns default options for auth generation

func WithOAuth2

WithOAuth2 adds OAuth2 configuration to auth generator options

func WithRBAC

WithRBAC adds RBAC configuration to auth generator options

func WithSupabase

WithSupabase configures Supabase authentication

Types

type APIDocsGenerator

type APIDocsGenerator struct{}

APIDocsGenerator handles API documentation generation

func NewAPIDocsGenerator

func NewAPIDocsGenerator() *APIDocsGenerator

NewAPIDocsGenerator creates a new APIDocsGenerator

func (*APIDocsGenerator) GenerateAPIDocs

func (g *APIDocsGenerator) GenerateAPIDocs(projectName, port string, resources []*models.Resource, outputDir string) error

GenerateAPIDocs generates complete API documentation

type APIGenerator

type APIGenerator struct{}

APIGenerator handles API project generation

func NewAPIGenerator

func NewAPIGenerator() *APIGenerator

NewAPIGenerator creates a new APIGenerator

func (*APIGenerator) Generate

func (g *APIGenerator) Generate() error

Generate generates a complete API project

type APIProject

type APIProject struct {
	Name     string
	Port     string
	Database *models.DatabaseProvider
	Module   string
}

APIProject represents an API project configuration

type AuthGenerator

type AuthGenerator struct {
	// contains filtered or unexported fields
}

AuthGenerator handles authentication system generation

func NewAuthGenerator

func NewAuthGenerator(options models.AuthGeneratorOptions) *AuthGenerator

NewAuthGenerator creates a new authentication generator

func (*AuthGenerator) GenerateAuthSystem

func (g *AuthGenerator) GenerateAuthSystem() error

GenerateAuthSystem generates complete authentication system

type DeploymentGenerator

type DeploymentGenerator struct {
	// contains filtered or unexported fields
}

DeploymentGenerator handles deployment generation

func NewDeploymentGenerator

func NewDeploymentGenerator() *DeploymentGenerator

NewDeploymentGenerator creates a new deployment generator

func (*DeploymentGenerator) Generate

func (g *DeploymentGenerator) Generate(options DeploymentOptions) error

Generate generates deployment configurations based on options

type DeploymentOptions

type DeploymentOptions struct {
	Type        string
	Provider    string
	Service     string
	Namespace   string
	MultiStage  bool
	Optimize    bool
	Security    bool
	WithIngress bool
	WithSecrets bool
	WithHPA     bool
	FullSuite   bool
	Environment string
}

DeploymentOptions contains configuration for deployment generation

type DocsProject

type DocsProject struct {
	ProjectName string
	Port        string
	Resources   []*models.Resource
}

DocsProject represents a documentation project configuration

type EnhancedField

type EnhancedField struct {
	*models.SchemaField
	GoStructField   string
	GoRequestField  string
	GoResponseField string
	GoFilterField   string
	GoValidation    string
	GoFilterQuery   string
	Names           *FieldNamingConventions
	Filterable      bool
	ReadOnly        bool
}

EnhancedField extends SchemaField with template-specific data

type EnhancedSchema

type EnhancedSchema struct {
	*models.ResourceSchema
	Fields          []EnhancedField
	Module          string
	DBProvider      string
	Relations       []RelationInfo
	RequiredImports []string
	GetPreloads     string
	GetSearchFields string
	GetSearchValues string
}

EnhancedSchema extends ResourceSchema with enhanced fields

type FieldNamingConventions

type FieldNamingConventions struct {
	PascalCase string
	CamelCase  string
	SnakeCase  string
	KebabCase  string
}

FieldNamingConventions represents naming conventions for a field

type MiddlewareGenerator

type MiddlewareGenerator struct {
	// contains filtered or unexported fields
}

MiddlewareGenerator handles middleware generation

func NewMiddlewareGenerator

func NewMiddlewareGenerator() *MiddlewareGenerator

NewMiddlewareGenerator creates a new middleware generator

func (*MiddlewareGenerator) Generate

func (g *MiddlewareGenerator) Generate(options MiddlewareOptions) error

Generate generates middleware based on options

type MiddlewareOptions

type MiddlewareOptions struct {
	Type   string
	Name   string
	Custom bool
	Preset string
}

MiddlewareOptions contains configuration for middleware generation

type PluginGenerator

type PluginGenerator struct {
	// contains filtered or unexported fields
}

PluginGenerator handles plugin generation and management

func NewPluginGenerator

func NewPluginGenerator() *PluginGenerator

NewPluginGenerator creates a new plugin generator

func (*PluginGenerator) Generate

func (pg *PluginGenerator) Generate(options models.PluginOptions) error

Generate generates a new plugin project

type PluginManager

type PluginManager struct {
	// contains filtered or unexported fields
}

PluginManager handles plugin management operations

func NewPluginManager

func NewPluginManager() *PluginManager

NewPluginManager creates a new plugin manager

func (*PluginManager) InstallPlugin

func (pm *PluginManager) InstallPlugin(options models.PluginInstallOptions) error

InstallPlugin installs a plugin

func (*PluginManager) ListPlugins

func (pm *PluginManager) ListPlugins() ([]models.PluginInfo, error)

ListPlugins lists all installed plugins

func (*PluginManager) UninstallPlugin

func (pm *PluginManager) UninstallPlugin(name string) error

UninstallPlugin uninstalls a plugin

type RelationInfo

type RelationInfo struct {
	Name        string
	DisplayName string
	Type        string
	Target      string
}

RelationInfo represents relation information for templates

type ResourceGenerator

type ResourceGenerator struct{}

ResourceGenerator handles resource generation

func NewResourceGenerator

func NewResourceGenerator() *ResourceGenerator

NewResourceGenerator creates a new ResourceGenerator

func (*ResourceGenerator) Generate

func (g *ResourceGenerator) Generate() error

Generate generates a complete CRUD resource

type SchemaGenerator

type SchemaGenerator struct {
	// contains filtered or unexported fields
}

SchemaGenerator generates code from resource schemas

func NewSchemaGenerator

func NewSchemaGenerator(storage models.SchemaStorage) *SchemaGenerator

NewSchemaGenerator creates a new schema generator

func (*SchemaGenerator) GenerateFromSchema

func (g *SchemaGenerator) GenerateFromSchema(schemaID, outputPath, module string, dbProvider string) error

GenerateFromSchema generates complete CRUD code from a schema

func (*SchemaGenerator) GenerateFromSchemaName

func (g *SchemaGenerator) GenerateFromSchemaName(schemaName, outputPath, module string, dbProvider string) error

GenerateFromSchemaName generates code from schema name

type TemplateData

type TemplateData struct {
	*models.ResourceSchema
	Module          string
	DBProvider      string
	Relations       []RelationInfo
	RequiredImports []string
	GetPreloads     string
	GetSearchFields string
	GetSearchValues string
}

TemplateData represents data passed to templates (deprecated, use EnhancedSchema)

type TestingGenerator

type TestingGenerator struct {
	// contains filtered or unexported fields
}

TestingGenerator handles test generation

func NewTestingGenerator

func NewTestingGenerator() *TestingGenerator

NewTestingGenerator creates a new testing generator

func (*TestingGenerator) Generate

func (g *TestingGenerator) Generate(options TestingOptions) error

Generate generates tests based on options

type TestingOptions

type TestingOptions struct {
	Type      string
	Framework string
	Target    string
	Name      string
	FullSuite bool
	WithMocks bool
	WithUtils bool
	WithBench bool
	BDDStyle  bool
}

TestingOptions contains configuration for test generation

type UIGenerator

type UIGenerator struct {
	// contains filtered or unexported fields
}

UIGenerator handles UI component generation

func NewUIGenerator

func NewUIGenerator() *UIGenerator

NewUIGenerator creates a new UI generator

func (*UIGenerator) Generate

func (g *UIGenerator) Generate(options UIOptions) error

Generate generates UI components based on options

type UIOptions

type UIOptions struct {
	AtomicDesign bool
	Framework    string
	TypeScript   bool
	Storybook    bool
}

UIOptions contains configuration for UI generation

type VibercodeManifest

type VibercodeManifest struct {
	Version     string                   `json:"version"`
	ProjectType string                   `json:"project_type"`
	Name        string                   `json:"name"`
	Port        string                   `json:"port"`
	Database    *models.DatabaseProvider `json:"database"`
	Module      string                   `json:"module"`
	GeneratedAt string                   `json:"generated_at"`
	UpdatedAt   string                   `json:"updated_at,omitempty"`
	CLI         VibercodeManifestCLI     `json:"cli"`
	History     []VibercodeManifestEvent `json:"history,omitempty"`
	Resources   []VibercodeResource      `json:"resources,omitempty"`
}

VibercodeManifest represents the project configuration that can be used to regenerate the project

type VibercodeManifestCLI

type VibercodeManifestCLI struct {
	Version string `json:"version"`
	Command string `json:"command"`
}

VibercodeManifestCLI represents CLI-specific information

type VibercodeManifestEvent

type VibercodeManifestEvent struct {
	Type        string               `json:"type"` // "create", "generate_resource", "update"
	Description string               `json:"description"`
	Timestamp   string               `json:"timestamp"`
	CLI         VibercodeManifestCLI `json:"cli"`
}

VibercodeManifestEvent represents a change/generation event

type VibercodeResource

type VibercodeResource struct {
	Name        string                   `json:"name"`
	Type        string                   `json:"type"` // "crud", "model", "handler", etc.
	Fields      []VibercodeResourceField `json:"fields,omitempty"`
	GeneratedAt string                   `json:"generated_at"`
}

VibercodeResource represents a generated resource

type VibercodeResourceField

type VibercodeResourceField struct {
	Name     string `json:"name"`
	Type     string `json:"type"`
	Required bool   `json:"required"`
}

VibercodeResourceField represents a field in a resource

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL