Phase1_structurePhase 1: Project Structure Verification This phase ensures that the MoneyWise project has all required directories and files before proceeding with further setup phases. This verification is critical because:
1. Missing core directories (backend/frontend) would prevent proper application setup 2. Missing setup scripts would break the automated installation process 3. Missing configuration files would lead to runtime errors
The verification checks for:
Note: Shell scripts are being migrated to OCaml, so we no longer check for the scripts directory or shell utilities.
type path_check_result = {path : string;Path being checked
*)description : string;Human-readable description of the path
*)exists : bool;Whether the path exists
*)error_message : string option;Error message if path doesn't exist
*)}Result of checking a single path (file or directory)
type structure_status = {total_checks : int;Total number of path checks performed
*)passed_checks : int;Number of checks that passed
*)failed_checks : int;Number of checks that failed
*)results : path_check_result list;List of individual check results
*)}Overall structure verification status
val create_empty_status : unit -> structure_statusCreate an initial empty structure status
val check_single_path :
string ->
string ->
string ->
(string -> bool) ->
path_check_resultCheck a single path and return its result
val update_status : structure_status -> path_check_result -> structure_statusUpdate structure status with a new check result
val display_structure_status : structure_status -> unitDisplay the results of structure verification
val verify_project_structure : string -> Types.phase_result