pub struct SpecKit;Expand description
The Spec Kit adapter.
Trait Implementations§
Source§impl Adapter for SpecKit
impl Adapter for SpecKit
Source§fn is_convergence(&self, phase: &str) -> bool
fn is_convergence(&self, phase: &str) -> bool
A Convergence phase, appended by converge.
Source§fn tool(&self) -> Option<(&'static str, &'static str)>
fn tool(&self) -> Option<(&'static str, &'static str)>
The format’s own command-line tool and how to install it, for
doctor (None: the format has none).Source§fn kind(&self) -> FormatKind
fn kind(&self) -> FormatKind
Which format.
Source§fn detect(&self, start: &Path) -> Option<PathBuf>
fn detect(&self, start: &Path) -> Option<PathBuf>
The project root containing
start, by the format’s marker.Source§fn inspect(
&self,
start: &Path,
feature: Option<&str>,
) -> Option<ProjectSnapshot>
fn inspect( &self, start: &Path, feature: Option<&str>, ) -> Option<ProjectSnapshot>
Discovers the project containing
start and selects feature.
Read-only.Source§fn open(&self, start: &Path, feature: Option<&str>) -> Option<ProjectSnapshot>
fn open(&self, start: &Path, feature: Option<&str>) -> Option<ProjectSnapshot>
Adapter::inspect for a command a person ran: the format’s own
selection settings (its environment variables) apply.Source§fn parse_tasks(&self, path: &str, text: &str) -> (ParsedTasks, Vec<Diagnostic>)
fn parse_tasks(&self, path: &str, text: &str) -> (ParsedTasks, Vec<Diagnostic>)
Parses a task list.
Source§fn current_pointer(&self) -> Option<&'static str>
fn current_pointer(&self) -> Option<&'static str>
The format’s per-checkout pointer to the current unit
(repository-relative), if it has one.
Source§fn set_current(
&self,
root: &Path,
unit_dir: Option<&str>,
) -> Result<String, String>
fn set_current( &self, root: &Path, unit_dir: Option<&str>, ) -> Result<String, String>
Records
unit_dir (repository-relative) as the current unit in the
format’s own per-checkout pointer, or clears it (None); returns the
pointer’s path. Err: the format has no current unit.Source§fn bundle(
&self,
snapshot: &ProjectSnapshot,
task_id: &str,
) -> Result<Bundle, BundleError>
fn bundle( &self, snapshot: &ProjectSnapshot, task_id: &str, ) -> Result<Bundle, BundleError>
The context bundle for
task of the selected unit.Source§fn scenarios(&self, snapshot: &ProjectSnapshot, task: &str) -> Vec<ScenarioRef>
fn scenarios(&self, snapshot: &ProjectSnapshot, task: &str) -> Vec<ScenarioRef>
The scenarios
task’s acceptance tests cite, with the spec’s words
(judge-side: the implementer sees the spec text, not this list).Source§fn acceptance_testable(&self, bundle: &Bundle) -> bool
fn acceptance_testable(&self, bundle: &Bundle) -> bool
Whether the bundle states acceptance examples to derive tests from.
Source§fn convergence_texts(&self, root: &Path, unit_dir: &Path) -> [String; 4]
fn convergence_texts(&self, root: &Path, unit_dir: &Path) -> [String; 4]
What the convergence assessment reads, in order: the project’s rules,
the spec, the plan, the task list (each may be empty).
Source§fn checklists(&self, root: &Path, unit_dir: &str) -> Vec<ChecklistStatus>
fn checklists(&self, root: &Path, unit_dir: &str) -> Vec<ChecklistStatus>
The unit’s unfinished-checklist state.
Source§fn requirements_file(&self) -> Option<&'static str>
fn requirements_file(&self) -> Option<&'static str>
The unit’s document that defines its requirements (
spec.md in
Spec Kit), relative to the unit’s directory; None when the format
has no requirement identifiers.Source§fn record_change(
&self,
root: &Path,
request: &str,
checks: &[String],
) -> Result<Recorded, String>
fn record_change( &self, root: &Path, request: &str, checks: &[String], ) -> Result<Recorded, String>
Records a quick change:
request (with acceptance checks)
becomes a story, a requirement and a task in the format’s standing
unit for such changes. Err: the format has none.Source§fn requirements_in(&self, text: &str) -> Vec<(String, String)>
fn requirements_in(&self, text: &str) -> Vec<(String, String)>
The requirements
text (the requirements file) defines, each with
the line that defines it, in the document’s order.Source§fn tick(
&self,
tasks_file: &Path,
task: &str,
line_hash: &str,
) -> Result<(), String>
fn tick( &self, tasks_file: &Path, task: &str, line_hash: &str, ) -> Result<(), String>
Ticks
task (one byte, under the line-hash guard).Source§fn append(
&self,
tasks_file: &Path,
file_hash: &str,
items: &[String],
) -> Result<Vec<String>, String>
fn append( &self, tasks_file: &Path, file_hash: &str, items: &[String], ) -> Result<Vec<String>, String>
Appends convergence tasks (prefix-guarded); returns their IDs.
Source§fn commit_precondition(
&self,
_root: &Path,
join: &dyn Fn(&str) -> String,
unit_dir: &str,
) -> CommitPrecondition
fn commit_precondition( &self, _root: &Path, join: &dyn Fn(&str) -> String, unit_dir: &str, ) -> CommitPrecondition
What must be committed before a worktree is made; paths are
repository-relative,
join maps a project-relative path to one.Source§fn blocking<'s>(&self, _snapshot: &'s ProjectSnapshot) -> Vec<&'s Diagnostic>
fn blocking<'s>(&self, _snapshot: &'s ProjectSnapshot) -> Vec<&'s Diagnostic>
Diagnostics that stop a run of the selected unit before any model
call (the format’s preflight).
Source§fn crosscheck(
&self,
_snapshot: &ProjectSnapshot,
_runner: &dyn CommandRunner,
) -> Vec<Diagnostic>
fn crosscheck( &self, _snapshot: &ProjectSnapshot, _runner: &dyn CommandRunner, ) -> Vec<Diagnostic>
The format’s own tools’ opinion of the selected unit, when they are
installed (read-only commands through
runner).Auto Trait Implementations§
impl Freeze for SpecKit
impl RefUnwindSafe for SpecKit
impl Send for SpecKit
impl Sync for SpecKit
impl Unpin for SpecKit
impl UnsafeUnpin for SpecKit
impl UnwindSafe for SpecKit
Blanket Implementations§
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
Mutably borrows from an owned value. Read more