schema

package
v0.7.0 Latest Latest
Warning

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

Go to latest
Published: Feb 2, 2026 License: MIT Imports: 9 Imported by: 0

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

View Source
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

View Source
var OKRSchemaJSON []byte
View Source
var PRDSchemaJSON []byte
View Source
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 PRDSchema

func PRDSchema() string

PRDSchema returns the PRD JSON Schema as a string.

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

func (g *Generator) GenerateAll(dir string) error

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

func (g *Generator) GenerateOKRSchemaJSON() ([]byte, error)

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

func (g *Generator) GeneratePRDSchemaJSON() ([]byte, error)

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

func (g *Generator) GenerateV2MOMSchemaJSON() ([]byte, error)

GenerateV2MOMSchemaJSON generates JSON Schema for V2MOM and returns it as JSON bytes.

func (*Generator) WriteOKRSchema added in v0.6.0

func (g *Generator) WriteOKRSchema(path string) error

WriteOKRSchema generates and writes the OKR schema to a file.

func (*Generator) WritePRDSchema

func (g *Generator) WritePRDSchema(path string) error

WritePRDSchema generates and writes the PRD schema to a file.

func (*Generator) WriteV2MOMSchema added in v0.6.0

func (g *Generator) WriteV2MOMSchema(path string) error

WriteV2MOMSchema generates and writes the V2MOM schema to a file.

Jump to

Keyboard shortcuts

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