AnalyzeProjectArgs

Struct AnalyzeProjectArgs 

Source
pub struct AnalyzeProjectArgs {
    pub project_name: String,
    pub vision: String,
    pub tech_stack: String,
    pub summary: String,
}
Expand description

Arguments for analyze_project command

Fields§

§project_name: String

Project name to create with your analyzed content

Must be in kebab-case format (lowercase letters, numbers, hyphens only) Cannot contain spaces, underscores, or special characters

§vision: String

High-level product vision content (2-4 paragraphs, 200+ characters) based on your codebase analysis

Analysis Approach:

  • Use Search, Grep, and Read tools to explore the codebase first
  • Examine package.json, README files, main entry points, API routes
  • Look for user-facing features, business logic, and data models
  • Review existing documentation and configuration files

Content Structure & Markdown:

  • Use ## headers (## Problem Analysis, ## Target Users, ## Product Goals)
  • Base vision on actual code functionality discovered
  • Include specific examples from the codebase
  • Structure with bullet points and clear paragraphs
  • Write in present tense, referencing actual implementation

Goes into vision.md

§tech_stack: String

Technology stack and architecture decisions (150+ characters) based on your codebase exploration

Detection Strategy:

  • Analyze package.json, requirements.txt, Cargo.toml, etc. for dependencies
  • Check build scripts, Docker files, and deployment configurations
  • Examine database connections, API integrations, and external services
  • Review folder structure and architectural patterns used

Content Structure & Markdown:

  • Use ## headers (## Languages, ## Frameworks, ## Database, ## Deployment, ## Build Tools)
  • List detected technologies with versions where found
  • Include rationale based on code patterns observed
  • Add ### subsections for complex architectural decisions
  • Reference specific files or configurations discovered

Goes into tech-stack.md

§summary: String

Concise summary (100+ characters) combining vision and tech stack from your analysis

Should capture key insights from your codebase exploration for quick context loading Use this to understand the project essence before diving into implementation Goes into summary.md

Trait Implementations§

Source§

impl Args for AnalyzeProjectArgs

Source§

fn group_id() -> Option<Id>

Report the ArgGroup::id for this set of arguments
Source§

fn augment_args<'b>(__clap_app: Command) -> Command

Append to Command so it can instantiate Self via FromArgMatches::from_arg_matches_mut Read more
Source§

fn augment_args_for_update<'b>(__clap_app: Command) -> Command

Append to Command so it can instantiate self via FromArgMatches::update_from_arg_matches_mut Read more
Source§

impl Debug for AnalyzeProjectArgs

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl FromArgMatches for AnalyzeProjectArgs

Source§

fn from_arg_matches(__clap_arg_matches: &ArgMatches) -> Result<Self, Error>

Instantiate Self from ArgMatches, parsing the arguments as needed. Read more
Source§

fn from_arg_matches_mut( __clap_arg_matches: &mut ArgMatches, ) -> Result<Self, Error>

Instantiate Self from ArgMatches, parsing the arguments as needed. Read more
Source§

fn update_from_arg_matches( &mut self, __clap_arg_matches: &ArgMatches, ) -> Result<(), Error>

Assign values from ArgMatches to self.
Source§

fn update_from_arg_matches_mut( &mut self, __clap_arg_matches: &mut ArgMatches, ) -> Result<(), Error>

Assign values from ArgMatches to self.
Source§

impl McpToolDefinition for AnalyzeProjectArgs

Source§

fn tool_definition() -> Tool

Generate the MCP tool definition from the struct
Source§

fn from_mcp_params(params: &Value) -> Result<Self>

Convert MCP parameters to the CLI argument struct

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
Source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self>

Converts 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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

Converts 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
Source§

impl<T> PolicyExt for T
where T: ?Sized,

Source§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow only if self and other return Action::Follow. Read more
Source§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns Action::Follow if either self or other returns Action::Follow. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
Source§

impl<T> WithSubscriber for T

Source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
Source§

impl<T> ErasedDestructor for T
where T: 'static,