Skip to main content

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