Documentation
¶
Overview ¶
Package schema provides embedded JSON Schema files for structured requirements documents. These schemas can be used for validation and documentation purposes.
Index ¶
- Constants
- Variables
- func OKRSchema() string
- func OKRSchemaBytes() []byte
- func PRDSchema() string
- func PRDSchemaBytes() []byte
- func V2MOMSchema() string
- func V2MOMSchemaBytes() []byte
- type Generator
- func (g *Generator) GenerateAll(dir string) error
- func (g *Generator) GenerateOKRSchema() (*jsonschema.Schema, error)
- func (g *Generator) GenerateOKRSchemaJSON() ([]byte, error)
- func (g *Generator) GeneratePRDSchema() (*jsonschema.Schema, error)
- func (g *Generator) GeneratePRDSchemaJSON() ([]byte, error)
- func (g *Generator) GenerateV2MOMSchema() (*jsonschema.Schema, error)
- func (g *Generator) GenerateV2MOMSchemaJSON() ([]byte, error)
- func (g *Generator) WriteOKRSchema(path string) error
- func (g *Generator) WritePRDSchema(path string) error
- func (g *Generator) WriteV2MOMSchema(path string) error
Constants ¶
const ( // PRDSchemaID is the canonical ID for the PRD schema. PRDSchemaID = "https://github.com/grokify/structured-plan/schema/prd.schema.json" // MRDSchemaID is the canonical ID for the MRD schema (placeholder). MRDSchemaID = "https://github.com/grokify/structured-plan/schema/mrd.schema.json" // TRDSchemaID is the canonical ID for the TRD schema (placeholder). TRDSchemaID = "https://github.com/grokify/structured-plan/schema/trd.schema.json" // OKRSchemaID is the canonical ID for the OKR schema. OKRSchemaID = "https://github.com/grokify/structured-plan/schema/okr.schema.json" // V2MOMSchemaID is the canonical ID for the V2MOM schema. V2MOMSchemaID = "https://github.com/grokify/structured-plan/schema/v2mom.schema.json" )
SchemaID constants for referencing schemas.
Variables ¶
var OKRSchemaJSON []byte
var PRDSchemaJSON []byte
var V2MOMSchemaJSON []byte
Functions ¶
func OKRSchema ¶ added in v0.6.0
func OKRSchema() string
OKRSchema returns the OKR JSON Schema as a string.
func OKRSchemaBytes ¶ added in v0.6.0
func OKRSchemaBytes() []byte
OKRSchemaBytes returns the OKR JSON Schema as a byte slice.
func PRDSchemaBytes ¶
func PRDSchemaBytes() []byte
PRDSchemaBytes returns the PRD JSON Schema as a byte slice.
func V2MOMSchema ¶ added in v0.6.0
func V2MOMSchema() string
V2MOMSchema returns the V2MOM JSON Schema as a string.
func V2MOMSchemaBytes ¶ added in v0.6.0
func V2MOMSchemaBytes() []byte
V2MOMSchemaBytes returns the V2MOM JSON Schema as a byte slice.
Types ¶
type Generator ¶
type Generator struct {
// Reflector is the jsonschema reflector used for generation.
Reflector *jsonschema.Reflector
}
Generator creates JSON Schema files from Go types.
func NewGenerator ¶
func NewGenerator() *Generator
NewGenerator creates a new schema generator with default settings.
func (*Generator) GenerateAll ¶
GenerateAll generates all schema files to the specified directory.
func (*Generator) GenerateOKRSchema ¶ added in v0.6.0
func (g *Generator) GenerateOKRSchema() (*jsonschema.Schema, error)
GenerateOKRSchema generates JSON Schema for the OKR Document type.
func (*Generator) GenerateOKRSchemaJSON ¶ added in v0.6.0
GenerateOKRSchemaJSON generates JSON Schema for OKR and returns it as JSON bytes.
func (*Generator) GeneratePRDSchema ¶
func (g *Generator) GeneratePRDSchema() (*jsonschema.Schema, error)
GeneratePRDSchema generates JSON Schema for the PRD Document type.
func (*Generator) GeneratePRDSchemaJSON ¶
GeneratePRDSchemaJSON generates JSON Schema for PRD and returns it as JSON bytes.
func (*Generator) GenerateV2MOMSchema ¶ added in v0.6.0
func (g *Generator) GenerateV2MOMSchema() (*jsonschema.Schema, error)
GenerateV2MOMSchema generates JSON Schema for the V2MOM Document type.
func (*Generator) GenerateV2MOMSchemaJSON ¶ added in v0.6.0
GenerateV2MOMSchemaJSON generates JSON Schema for V2MOM and returns it as JSON bytes.
func (*Generator) WriteOKRSchema ¶ added in v0.6.0
WriteOKRSchema generates and writes the OKR schema to a file.
func (*Generator) WritePRDSchema ¶
WritePRDSchema generates and writes the PRD schema to a file.
func (*Generator) WriteV2MOMSchema ¶ added in v0.6.0
WriteV2MOMSchema generates and writes the V2MOM schema to a file.