Documentation
¶
Overview ¶
Package target provides export adapters for different execution systems.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type AIDLCTarget ¶ added in v0.6.0
type AIDLCTarget struct{}
AIDLCTarget exports to AWS AI-DLC Workflows format. The target generates input documents for the AIDLC Inception phase: - vision-document.md (from MRD/Press/PRD) - technical-environment.md (from TRD/IRD/context) - imported-requirements.md (combined requirements)
func (*AIDLCTarget) Capabilities ¶ added in v0.6.0
func (t *AIDLCTarget) Capabilities() Capabilities
Capabilities returns what this target supports.
func (*AIDLCTarget) Description ¶ added in v0.6.0
func (t *AIDLCTarget) Description() string
Description returns a description of the target.
func (*AIDLCTarget) Export ¶ added in v0.6.0
func (t *AIDLCTarget) Export(spec string, config ExportConfig) (*ExportResult, error)
Export exports the spec to AIDLC format. The config.Options may include: - "mrd": MRD content for vision document - "prd": PRD content for vision document - "press": Press release content for vision document - "trd": TRD content for technical environment - "ird": IRD content for technical environment - "context": Codebase context for technical environment
func (*AIDLCTarget) Name ¶ added in v0.6.0
func (t *AIDLCTarget) Name() string
Name returns the target name.
func (*AIDLCTarget) Validate ¶ added in v0.6.0
func (t *AIDLCTarget) Validate(spec string) error
Validate checks if the spec can be exported to this target.
type Bead ¶
type Bead struct {
ID string
Name string
Description string
Status string // ready, blocked, done
BlockedBy []string // IDs of beads that must complete first
Agent string // Which agent handles this
Priority int
}
Bead represents a GasTown bead (unit of work).
type Capabilities ¶
type Capabilities struct {
SequentialTasks bool `json:"sequential_tasks"`
ParallelExecution bool `json:"parallel_execution"`
MultiAgent bool `json:"multi_agent"`
Verification bool `json:"verification"`
DependencyGraph bool `json:"dependency_graph"`
}
Capabilities describes what a target supports.
type ExportConfig ¶
type ExportConfig struct {
ProjectName string `json:"project_name"`
OutputDir string `json:"output_dir"`
Options map[string]any `json:"options,omitempty"`
}
ExportConfig contains configuration for export.
func ProjectTargetConfig ¶
func ProjectTargetConfig(project *types.Project, targetName string) *ExportConfig
ProjectTargetConfig returns the target config from a project.
type ExportResult ¶
type ExportResult struct {
Target string `json:"target"`
OutputDir string `json:"output_dir"`
Files []string `json:"files"`
Success bool `json:"success"`
Message string `json:"message,omitempty"`
}
ExportResult contains the result of an export.
type GSDTarget ¶
type GSDTarget struct{}
GSDTarget exports to GSD (Get Shit Done) format. GSD uses PLAN.md with YAML frontmatter, STATE.md for tracking, and .planning/config.json for configuration.
func (*GSDTarget) Capabilities ¶
func (t *GSDTarget) Capabilities() Capabilities
Capabilities returns what this target supports.
func (*GSDTarget) Description ¶
Description returns a description of the target.
func (*GSDTarget) Export ¶
func (t *GSDTarget) Export(spec string, config ExportConfig) (*ExportResult, error)
Export exports the spec to GSD format.
type GasCityTarget ¶
type GasCityTarget struct{}
GasCityTarget exports to GasCity multi-agent format. GasCity orchestrates multiple agents with city.toml, agent definitions, and orders.
func (*GasCityTarget) Capabilities ¶
func (t *GasCityTarget) Capabilities() Capabilities
Capabilities returns what this target supports.
func (*GasCityTarget) Description ¶
func (t *GasCityTarget) Description() string
Description returns a description of the target.
func (*GasCityTarget) Export ¶
func (t *GasCityTarget) Export(spec string, config ExportConfig) (*ExportResult, error)
Export exports the spec to GasCity format.
func (*GasCityTarget) Validate ¶
func (t *GasCityTarget) Validate(spec string) error
Validate checks if the spec can be exported to this target.
type GasTownTarget ¶
type GasTownTarget struct{}
GasTownTarget exports to GasTown TOML formula format. GasTown uses convoy, workflow, and expansion formulas with Bead definitions.
func (*GasTownTarget) Capabilities ¶
func (t *GasTownTarget) Capabilities() Capabilities
Capabilities returns what this target supports.
func (*GasTownTarget) Description ¶
func (t *GasTownTarget) Description() string
Description returns a description of the target.
func (*GasTownTarget) Export ¶
func (t *GasTownTarget) Export(spec string, config ExportConfig) (*ExportResult, error)
Export exports the spec to GasTown format.
func (*GasTownTarget) Validate ¶
func (t *GasTownTarget) Validate(spec string) error
Validate checks if the spec can be exported to this target.
type MustHaves ¶
type MustHaves struct {
Truths []string `json:"truths"`
Artifacts []string `json:"artifacts"`
KeyLinks []string `json:"key_links"`
}
MustHaves represents the GSD must_haves structure.
type Order ¶
type Order struct {
ID string
Description string
AssignedTo string // Agent ID
DependsOn []string // Order IDs
Status string // pending, in_progress, complete
Priority int
}
Order represents a GasCity order (task assignment).
type Phase ¶
type Phase struct {
Name string `json:"name"`
Description string `json:"description"`
Tasks []string `json:"tasks"`
Wave int `json:"wave"`
}
Phase represents a GSD phase.
type SpecKitTarget ¶
type SpecKitTarget struct{}
SpecKitTarget exports to GitHub Spec-Kit format.
func (*SpecKitTarget) Capabilities ¶
func (t *SpecKitTarget) Capabilities() Capabilities
Capabilities returns what this target supports.
func (*SpecKitTarget) Description ¶
func (t *SpecKitTarget) Description() string
Description returns a description of the target.
func (*SpecKitTarget) Export ¶
func (t *SpecKitTarget) Export(spec string, config ExportConfig) (*ExportResult, error)
Export exports the spec to SpecKit format.
func (*SpecKitTarget) Validate ¶
func (t *SpecKitTarget) Validate(spec string) error
Validate checks if the spec can be exported to this target.
type Target ¶
type Target interface {
// Name returns the target name.
Name() string
// Description returns a description of the target.
Description() string
// Capabilities returns what this target supports.
Capabilities() Capabilities
// Validate checks if the spec can be exported to this target.
Validate(spec string) error
// Export exports the spec to this target.
Export(spec string, config ExportConfig) (*ExportResult, error)
}
Target defines the interface for export adapters.
type TargetInfo ¶
type TargetInfo struct {
Name string `json:"name"`
Description string `json:"description"`
Capabilities Capabilities `json:"capabilities"`
}
TargetInfo contains information about a target.
func ListTargets ¶
func ListTargets() []TargetInfo
ListTargets returns information about all registered targets.