store

package
v0.2.16 Latest Latest
Warning

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

Go to latest
Published: Oct 18, 2026 License: MIT Imports: 6 Imported by: 0

Documentation

Overview

Package store resolves per-project storage under a single home root so no helper state leaks into user workspaces. Each kind (sessions, memory, skills, plugins, index) gets <root>/<kind>/<slug>/, where <slug> is the workspace folder name plus a short hash of its absolute path — same-named projects in different locations stay separate.

The root is resolved as: the value passed to SetRoot, else $RAKIT_HOME, else ~/.rakit. Hosts that keep their own data layout (e.g. the forge-ade desktop app) call SetRoot before constructing any engine component.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ProjectDir

func ProjectDir(kind, workspacePath string) (string, error)

ProjectDir returns <root>/<kind>/<slug>, creating it if needed.

func ProjectSlug

func ProjectSlug(workspacePath string) string

ProjectSlug derives a stable, filesystem-safe per-project name from a workspace path: "<leaf>-<8-char hash of the absolute path>".

func Root

func Root() (string, error)

Root returns the storage root (see package comment), creating it if needed.

func SetRoot

func SetRoot(dir string)

SetRoot pins the storage root to dir. Hosts with their own home layout call this once at startup, before any engine component resolves a path.

Types

This section is empty.

Jump to

Keyboard shortcuts

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