Documentation
¶
Index ¶
- func DefaultAuthGeneratorOptions(projectName, outputPath string) models.AuthGeneratorOptions
- func WithOAuth2(options models.AuthGeneratorOptions, providers []models.OAuth2Provider) models.AuthGeneratorOptions
- func WithRBAC(options models.AuthGeneratorOptions) models.AuthGeneratorOptions
- func WithSupabase(options models.AuthGeneratorOptions, supabaseConfig models.SupabaseAuthConfig) models.AuthGeneratorOptions
- type APIDocsGenerator
- type APIGenerator
- type APIProject
- type AuthGenerator
- type DeploymentGenerator
- type DeploymentOptions
- type DocsProject
- type EnhancedField
- type EnhancedSchema
- type FieldNamingConventions
- type MiddlewareGenerator
- type MiddlewareOptions
- type PluginGenerator
- type PluginManager
- type RelationInfo
- type ResourceGenerator
- type SchemaGenerator
- type TemplateData
- type TestingGenerator
- type TestingOptions
- type UIGenerator
- type UIOptions
- type VibercodeManifest
- type VibercodeManifestCLI
- type VibercodeManifestEvent
- type VibercodeResource
- type VibercodeResourceField
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 ¶
func WithOAuth2(options models.AuthGeneratorOptions, providers []models.OAuth2Provider) models.AuthGeneratorOptions
WithOAuth2 adds OAuth2 configuration to auth generator options
func WithRBAC ¶
func WithRBAC(options models.AuthGeneratorOptions) models.AuthGeneratorOptions
WithRBAC adds RBAC configuration to auth generator options
func WithSupabase ¶
func WithSupabase(options models.AuthGeneratorOptions, supabaseConfig models.SupabaseAuthConfig) models.AuthGeneratorOptions
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 ¶
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 ¶
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 ¶
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 (*UIGenerator) Generate ¶
func (g *UIGenerator) Generate(options UIOptions) error
Generate generates UI components based on options
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