Versions in this module Expand all Collapse all v0 v0.0.13 Sep 18, 2026 Changes in this version + const ScaffoldApp + const ScaffoldMinimal + func DeleteFile(projectDir, relPath string) error + func DetectRepoRoot() (string, error) + func ReadFile(projectDir, relPath string) (string, error) + func RenameFile(projectDir, fromRel, toRel string) error + func SafeJoin(baseDir, requestedPath string) (string, error) + func Scaffold(kind, projectDir, moduleName string) error + func ValidScaffoldKind(kind string) bool + func WriteFile(projectDir, relPath, content string) error + type AuthChecker func(r *http.Request) bool + type FileNode struct + Children []*FileNode + Name string + Path string + Size int64 + Type string + func FileTree(projectDir string) (*FileNode, error) + type LogLine struct + Line string + Stream string + Time time.Time + type ManagedProcess struct + type ProcessManager struct + func NewProcessManager(cfg RunnerConfig, registry *Registry) *ProcessManager + func (m *ProcessManager) Restart(project *Project) (ProcessStatus, error) + func (m *ProcessManager) Start(project *Project) (ProcessStatus, error) + func (m *ProcessManager) Status(projectID string) ProcessStatus + func (m *ProcessManager) Stop(projectID string) (ProcessStatus, error) + func (m *ProcessManager) StopAll(ctx context.Context) + func (m *ProcessManager) Subscribe(projectID string) ([]LogLine, chan LogLine, func()) + type ProcessState string + const StateCrashed + const StateIdle + const StateRunning + const StateStarting + const StateStopped + const StateStopping + type ProcessStatus struct + LastExitError string + PID int + Port int + StartedAt *time.Time + State ProcessState + UptimeMS int64 + type Project struct + CreatedAt time.Time + Dir string + ID string + Name string + Port int + ScaffoldKind string + Slug string + UpdatedAt time.Time + type Registry struct + func NewRegistry(workspaceRoot string) (*Registry, error) + func (r *Registry) Create(name, scaffoldKind string, scaffold func(dir string) error) (*Project, error) + func (r *Registry) Delete(id string) error + func (r *Registry) Get(id string) (*Project, bool) + func (r *Registry) List() []*Project + func (r *Registry) ProjectDir(p *Project) string + func (r *Registry) Root() string + func (r *Registry) UpdatePort(id string, port int) error + type RunnerConfig struct + BinaryPath string + BuildPackage string + CacheDir string + GraceStop time.Duration + RepoRoot string + ScaffoldKind string + StartupProbe time.Duration + Variant string + type Server struct + Auth AuthChecker + Cfg RunnerConfig + Processes *ProcessManager + Registry *Registry + Tooling *ToolingService + func NewServer(cfg RunnerConfig, workspaceRoot string, auth AuthChecker) (*Server, error) + func (s *Server) Routes(mux *http.ServeMux) + type ToolingService struct + func NewToolingService() *ToolingService + func (s *ToolingService) Completions(projectID, projectDir, path, src, prefix string) []tooling.CompletionItem + func (s *ToolingService) Diagnostics(projectID, projectDir, path, src string) []tooling.Diagnostic + func (s *ToolingService) Drop(projectID string) + func (s *ToolingService) Forget(projectID, projectDir, path string) + func (s *ToolingService) Hover(projectID, projectDir, path, src string, line, col int) string + func (s *ToolingService) Touch(projectID, projectDir, path, src string)