Project class

Lifecycle owner for one .kbproj/ directory. Holds the live Canonical, persisted ProjectMeta, and three sidecars (prefs.json / chat.jsonl / history.jsonl).

Properties

canonical Canonical
final
chatLog ChatLog
getter/setter pair
hashCode int
The hash code for this object.
no setterinherited
historyLog HistoryLog
getter/setter pair
meta ProjectMeta
final
path String
final
prefs Prefs
final
runtimeType Type
A representation of the runtime type of the object.
no setterinherited

Methods

close() Future<void>
noSuchMethod(Invocation invocation) → dynamic
Invoked when a nonexistent method or property is accessed.
inherited
revert() Future<void>
Reload the committed bundle into memory — discards uncommitted edits (and the draft mirror).
save() Future<void>
Commit memory → disk (<path>/<bundleSubdir>/). Updates lastSavedAt.
saveAs(String newProjectPath) Future<void>
Copy the project to newProjectPath and re-target the live canonical + sidecars at it. The previous path is left untouched on disk.
toString() String
A string representation of this object.
inherited

Operators

operator ==(Object other) bool
The equality operator.
inherited

Static Methods

newAt(String projectPath, {String? name}) Future<Project>
Create a fresh .kbproj/ at projectPath. Returns the opened project so callers can immediately edit it.
openAt(String projectPath) Future<Project>
Open an existing .kbproj/. Throws ProjectFormatException when project.json is missing or malformed.