RepoBrain provides a formal library entry at repobrain (built from src/index.ts).
import {
loadConfig,
loadAllMemories,
loadStoredMemoryRecords,
loadAllPreferences,
saveMemory,
initBrain,
buildInjection,
buildSkillShortlist,
buildTaskRoutingBundle,
extractMemories,
parseRuleFileToMemories,
reviewCandidateMemory,
reviewCandidateMemories,
} from "repobrain";- Library entry:
repobrain->dist/index.js - CLI entry:
brainbin ->dist/cli.js - Optional direct CLI module import:
repobrain/cli
loadConfig(projectRoot: string): Promise<BrainConfig>loadAllMemories(projectRoot: string): Promise<Memory[]>loadStoredMemoryRecords(projectRoot: string): Promise<StoredMemoryRecord[]>loadAllPreferences(projectRoot: string): Promise<Preference[]>
saveMemory(memory: Memory, projectRoot: string): Promise<string>initBrain(projectRoot: string): Promise<void>
buildInjection(projectRoot: string, config: BrainConfig, options?: BuildInjectionOptions): Promise<string>
buildSkillShortlist(projectRoot: string, options: SuggestSkillsOptions): Promise<SkillSuggestionResult>buildTaskRoutingBundle(projectRoot: string, config: BrainConfig, options: BuildTaskRoutingBundleOptions): Promise<TaskRoutingBundle>
extractMemories(conversationText: string, config: BrainConfig, projectRoot?: string): Promise<Memory[]>parseRuleFileToMemories(content: string, filePath: string, options?: ImportOptions): Memory[]
Example:
const imported = parseRuleFileToMemories(ruleMarkdown, "AGENTS.md", {
defaultType: "convention",
defaultImportance: "medium",
});Use parseRuleFileToMemories when a repo already has durable guidance in Markdown rule files and you want to convert those sections into candidate memories before saving or reviewing them.
reviewCandidateMemory(memory: Memory, existingRecords: StoredMemoryRecord[], externalReviewInput?: unknown): CandidateMemoryReviewResultreviewCandidateMemories(memories: Memory[], existingRecords: StoredMemoryRecord[], options?: MemoryReviewer | ReviewCandidateMemoriesOptions): ReviewedMemoryCandidate[]
All exports from src/types.ts are re-exported at the package root:
import type { BrainConfig, Memory, Preference, StoredMemoryRecord } from "repobrain";- Programmatic API does not require
commanderruntime usage and does not readprocess.stdin. - CLI behavior remains unchanged and continues to use the
brainexecutable.