Project Manager
Project Manager service with dynamic, configurable template rendering.
Overview
100% type safe, 100% configurable, 0% hardcoded.
Classes
ProjectManager
Project manager with fully configurable template system
Methods
cleanup_failed_init
cleanup_failed_init(self, project_path: pathlib.Path, completed_steps: List[specify_cli.models.project.ProjectInitStep]) -> bool
Clean up after failed initialization
Parameters:
project_path(Path, required)completed_steps(List, required)
Returns: bool
configure_branch_naming
configure_branch_naming(self, project_path: pathlib.Path, interactive: bool = False) -> bool
Configure branch naming using existing config service
Parameters:
project_path(Path, required)interactive(bool, optional) - Default:False
Returns: bool
get_project_info
get_project_info(self, project_path: pathlib.Path) -> Optional[Dict[str, Any]]
Get project information using existing config service
Parameters:
project_path(Path, required)
Returns: Optional
initialize_cross_platform_project
initialize_cross_platform_project(self, options: specify_cli.models.project.ProjectInitOptions) -> bool
Initialize project with cross-platform compatibility.
Parameters:
options(ProjectInitOptions, required) - Project initialization options
Returns: bool
initialize_project
initialize_project(self, options: specify_cli.models.project.ProjectInitOptions) -> specify_cli.models.project.ProjectInitResult
Initialize project with dynamic template rendering
Parameters:
options(ProjectInitOptions, required)
Returns: ProjectInitResult
is_project_initialized
is_project_initialized(self, project_path: pathlib.Path) -> bool
Check if a directory is already initialized as a SpecifyX project
Parameters:
project_path(Path, required)
Returns: bool
migrate_existing_project
migrate_existing_project(self, project_path: pathlib.Path) -> bool
Migrate existing project using existing infrastructure
Parameters:
project_path(Path, required)
Returns: bool
setup_project_structure
setup_project_structure(self, project_path: pathlib.Path, ai_assistant: str) -> bool
Set up basic project structure using existing infrastructure
Parameters:
project_path(Path, required)ai_assistant(str, required)
Returns: bool
validate_project_directory
validate_project_directory(self, project_path: pathlib.Path, use_current_dir: bool) -> tuple[bool, typing.Optional[str]]
Validate project directory using existing Validators infrastructure
Parameters:
project_path(Path, required)use_current_dir(bool, required)
Returns: tuple
validate_project_name
validate_project_name(self, name: str) -> tuple[bool, typing.Optional[str]]
Validate project name using existing Validators infrastructure
Parameters:
name(str, required)
Returns: tuple
Constants
TYPE_CHECKING(bool) =False