xcodegenserver

package
v0.35.4 Latest Latest
Warning

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

Go to latest
Published: Mar 21, 2026 License: MIT Imports: 10 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Run

func Run(ctx context.Context) error

Run starts the XcodeGen MCP server over stdio. It blocks until the client disconnects or the context is cancelled.

Types

type Entitlement

type Entitlement struct {
	Key    string `json:"key"`
	Value  any    `json:"value"`
	Target string `json:"target,omitempty"` // empty = main app
}

Entitlement describes a single entitlement entry.

type ExtensionPlan

type ExtensionPlan struct {
	Kind         string            `json:"kind"`
	Name         string            `json:"name"`
	Purpose      string            `json:"purpose"`
	InfoPlist    map[string]any    `json:"info_plist,omitempty"`
	Entitlements map[string]any    `json:"entitlements,omitempty"`
	Settings     map[string]string `json:"settings,omitempty"`
}

ExtensionPlan describes a secondary Xcode target.

type PackageDep

type PackageDep struct {
	Name       string   `json:"name"`
	URL        string   `json:"url"`
	MinVersion string   `json:"min_version"`
	Products   []string `json:"products,omitempty"`
}

PackageDep describes an SPM package dependency for the Xcode project.

type Permission

type Permission struct {
	Key         string `json:"key"`
	Description string `json:"description"`
	Framework   string `json:"framework"`
}

Permission describes a required iOS permission.

type ProjectConfig

type ProjectConfig struct {
	AppName           string            `json:"app_name"`
	BundleID          string            `json:"bundle_id"`
	Platform          string            `json:"platform,omitempty"`
	WatchProjectShape string            `json:"watch_project_shape,omitempty"`
	DeviceFamily      string            `json:"device_family,omitempty"`
	Permissions       []Permission      `json:"permissions,omitempty"`
	Extensions        []ExtensionPlan   `json:"extensions,omitempty"`
	Localizations     []string          `json:"localizations,omitempty"`
	Entitlements      []Entitlement     `json:"entitlements,omitempty"`
	BuildSettings     map[string]string `json:"build_settings,omitempty"`
	Packages          []PackageDep      `json:"packages,omitempty"`
}

ProjectConfig is the source of truth for Xcode project configuration. The MCP server reads/writes this as project_config.json, then regenerates project.yml from it.

Jump to

Keyboard shortcuts

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