trellis
Version:
Agentic State Engine — event-sourced causal graph with branching, decision traces, and realtime sync for AI-native applications
51 lines • 1.68 kB
TypeScript
/**
* Global User Profile
*
* Manages a persistent user profile stored at ~/.trellis/profile.json.
* This profile is captured once on first-ever Trellis use and injected
* into every repo's agent scaffold to provide personal context to AI tools.
*
* The profile is a *soft metadata* layer distinct from the cryptographic
* identity in `src/identity/`. If an identity already exists for the repo,
* the profile prompt pre-fills the name from `identity.displayName`.
*
* @module trellis/scaffold/profile
*/
export interface UserProfile {
name: string;
bio: string;
skills: string[];
style: string;
preferences: {
verbosity: 'concise' | 'detailed' | 'balanced';
tone: 'peer' | 'mentor' | 'formal';
};
createdAt: string;
updatedAt: string;
}
/**
* Load the global user profile, or null if not yet created.
*/
export declare function loadProfile(): UserProfile | null;
/**
* Save (or overwrite) the global user profile.
*/
export declare function saveProfile(profile: UserProfile): void;
/**
* Returns true if a global profile exists.
*/
export declare function hasProfile(): boolean;
/**
* Interactive terminal prompt to collect user profile.
* Called only from the CLI layer, never from programmatic API consumers.
*
* @param hints Optional pre-fill hints (e.g. from an existing identity)
*/
export declare function promptForProfile(hints?: {
name?: string;
}): Promise<UserProfile>;
/**
* Update specific fields of the existing profile without full re-prompting.
*/
export declare function updateProfile(updates: Partial<Omit<UserProfile, 'createdAt'>>): UserProfile;
//# sourceMappingURL=profile.d.ts.map