profile

package
v0.4.0 Latest Latest
Warning

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

Go to latest
Published: May 5, 2026 License: MIT Imports: 5 Imported by: 0

Documentation

Overview

Package profile implements auto-maintained user/project profiles. Inspired by SuperMemory's profile system: static facts + dynamic recent context.

A profile is automatically built from the memory graph:

  • Static: long-term facts (conventions, decisions, preferences) — stable over weeks
  • Dynamic: recent activity (active tasks, recent bugs, last session) — changes daily

One call, ~50ms. Inject into system prompt and the agent instantly knows the project.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Profile

type Profile struct {
	Project string   `json:"project"`
	Static  []string `json:"static"`  // long-term facts (conventions, decisions, preferences)
	Dynamic []string `json:"dynamic"` // recent activity (tasks, bugs, last session)
	Stack   []string `json:"stack"`   // detected tech stack
	Summary string   `json:"summary"` // one-line project summary
}

Profile is an auto-maintained project/user profile.

func Build

func Build(ctx context.Context, store storage.Storage, project string) (*Profile, error)

Build generates a profile from the memory graph. No LLM needed.

func Merge

func Merge(a, b *Profile) *Profile

Merge combines two profiles (e.g., project + global).

func (*Profile) Format

func (p *Profile) Format() string

Format returns the profile as markdown for agent injection.

Jump to

Keyboard shortcuts

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