use crate::utils::defaults;
use std::fs;
use sway_utils::constants;
pub(crate) fn init_new_project(project_name: String) -> Result<(), Box<dyn std::error::Error>> {
fs::create_dir_all(format!("{}/src", project_name))?;
fs::create_dir_all(format!("{}/tests", project_name))?;
fs::write(
format!("{}/{}", project_name, constants::MANIFEST_FILE_NAME),
defaults::default_manifest(&project_name),
)?;
fs::write(
format!("{}/{}", project_name, constants::TEST_MANIFEST_FILE_NAME),
defaults::default_tests_manifest(&project_name),
)?;
fs::write(
format!("{}/src/main.sw", project_name),
defaults::default_program(),
)?;
fs::write(
format!("{}/tests/harness.rs", project_name),
defaults::default_test_program(),
)?;
Ok(())
}