struct ProjectEntry {
name: String,
path: String,
model: Option<String>,
permission_mode: Option<String>,
max_workers: Option<usize>,
env: HashMap<String, String>,
env_file: Option<String>,
document_roots: Vec<String>,
handoff: Option<HandoffSettings>,
browser_profile: Option<String>,
slack: Option<SlackBinding>,
}Fields§
§name: String§path: String§model: Option<String>The project’s model: fills the CLI’s model slots at spawn
(ANTHROPIC_DEFAULT_*_MODEL, ANTHROPIC_SMALL_FAST_MODEL,
CLAUDE_CODE_SUBAGENT_MODEL). Required to be declared by at
least one account in the org.
permission_mode: Option<String>CLI permission mode stamped onto every session this project
spawns. Absent resolves to auto.
max_workers: Option<usize>Cap on this project’s concurrently live dynamic workers. Absent keeps the default.
env: HashMap<String, String>Per-project environment entries, layered over the account’s env at spawn.
env_file: Option<String>Path to a KEY=value file whose entries join this project’s
env, so a secret can live outside forge.toml. Read once at
load, like every other value here, so rotating it needs a
forge restart.
document_roots: Vec<String>Extra roots the document read accepts beyond the session’s own
tree, so a project’s documents can live outside its repo (a
vault, a shared spec directory). Each entry is absolute or
starts with ~; a relative one is a load error. Absent ->
empty.
handoff: Option<HandoffSettings>This project’s handoff trigger, layered over the top-level table. Every key is optional, so a project sets the one it disagrees on.
browser_profile: Option<String>This project’s browser profile name; <org>/<name>. Absent keeps
the org’s.
slack: Option<SlackBinding>This project’s Slack workspace, overriding the org’s. Absent keeps the org’s binding.
Implementations§
Source§impl ProjectEntry
impl ProjectEntry
Sourcefn permission_mode(
&self,
path: &Path,
name: &str,
) -> Result<PermissionMode, WorkspaceError>
fn permission_mode( &self, path: &Path, name: &str, ) -> Result<PermissionMode, WorkspaceError>
The resolved mode for the project. Absent is auto, not “no
override”: under account rotation a session can start on any
account in its org’s pool, so the project is the stable scope
and a forge default is what keeps its sessions consistent.
Trait Implementations§
Source§impl Debug for ProjectEntry
Hand-written because a project’s env may carry secrets, which the
derived output would print.
impl Debug for ProjectEntry
Hand-written because a project’s env may carry secrets, which the derived output would print.
Source§impl<'de> Deserialize<'de> for ProjectEntry
impl<'de> Deserialize<'de> for ProjectEntry
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Auto Trait Implementations§
impl Freeze for ProjectEntry
impl RefUnwindSafe for ProjectEntry
impl Send for ProjectEntry
impl Sync for ProjectEntry
impl Unpin for ProjectEntry
impl UnsafeUnpin for ProjectEntry
impl UnwindSafe for ProjectEntry
Blanket Implementations§
§impl<T> AnySync for T
impl<T> AnySync for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
impl<S, T> Duplex<S> for Twhere
T: FromSample<S> + ToSample<S>,
§impl<S> FromSample<S> for S
impl<S> FromSample<S> for S
fn from_sample_(s: S) -> S
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more