Documentation
¶
Overview ¶
Package cli provides a composable CLI for visionspec.
Organizations can import this package to build custom CLI tools that include visionspec commands alongside their own:
package main
import (
"github.com/spf13/cobra"
"github.com/ProductBuildersHQ/visionspec/pkg/cli"
)
func main() {
root := &cobra.Command{Use: "org-spec"}
cfg := cli.DefaultConfig()
cli.AddCommandsTo(root, cfg)
root.AddCommand(customCmd)
root.Execute()
}
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AddCommandsTo ¶
AddCommandsTo adds all visionspec commands to a root command.
Types ¶
type CommandSet ¶
type CommandSet struct {
Init *cobra.Command
Create *cobra.Command
Lint *cobra.Command
Status *cobra.Command
Eval *cobra.Command
Synthesize *cobra.Command
Reconcile *cobra.Command
Approve *cobra.Command
Export *cobra.Command
Targets *cobra.Command
Graph *cobra.Command
Docs *cobra.Command
Serve *cobra.Command
Profiles *cobra.Command
Context *cobra.Command
Rules *cobra.Command
Generate *cobra.Command
Sync *cobra.Command
Drift *cobra.Command
}
CommandSet contains all visionspec commands.
func Commands ¶
func Commands(cfg *Config) *CommandSet
Commands returns all visionspec commands. Use this for selective command inclusion.
type Config ¶
type Config struct {
// TemplateLoader loads spec templates.
// If nil, uses embedded templates.
TemplateLoader templates.Loader
// RubricLoader loads evaluation rubrics.
// If nil, uses embedded rubrics.
RubricLoader rubrics.Loader
// SpecConfig defines which specs are required and their settings.
// If nil, uses default visionspec requirements.
SpecConfig *types.SpecConfig
// ProfileLoader loads configuration profiles.
// If nil, uses default profiles.
ProfileLoader profiles.Loader
// DefaultProfile is the profile to use when none is specified.
// If empty, uses no profile (default visionspec behavior).
DefaultProfile string
// Version is the CLI version string.
Version string
}
Config allows customization of CLI behavior.
func ConfigFromContext ¶
ConfigFromContext returns the Config from a context.
func ConfigFromProfile ¶
ConfigFromProfile creates a Config from a profile.
func (*Config) GetSpecConfig ¶
func (c *Config) GetSpecConfig() *types.SpecConfig
GetSpecConfig returns the SpecConfig, falling back to defaults if nil.
Click to show internal directories.
Click to hide internal directories.