39 lines
1.3 KiB
Bash
39 lines
1.3 KiB
Bash
#!/bin/bash
|
|
|
|
# Function to initialize a new project
|
|
init_project() {
|
|
if [ -z "$1" ]; then
|
|
echo "Usage: init_project <project_name>"
|
|
return 1
|
|
fi
|
|
|
|
PROJECT_NAME=$1
|
|
PROJECT_DIR="${PWD}/${PROJECT_NAME}"
|
|
|
|
# Create project directory structure
|
|
mkdir -p "${PROJECT_DIR}"/{src,modules,tests,docs}
|
|
|
|
# Create basic files
|
|
touch "${PROJECT_DIR}"/README.md
|
|
touch "${PROJECT_DIR}"/main.bash
|
|
chmod +x "${PROJECT_DIR}"/main.bash
|
|
cp -r modules "${PROJECT_DIR}"
|
|
|
|
# Populate README with basic content
|
|
echo "# ${PROJECT_NAME}" >> "${PROJECT_DIR}"/README.md
|
|
echo "" >> "${PROJECT_DIR}"/README.md
|
|
echo "This is a new project created using the lactozora framework." >> "${PROJECT_DIR}"/README.md
|
|
|
|
# Add basic template to main.bash
|
|
echo "#!/bin/bash" >> "${PROJECT_DIR}"/main.bash
|
|
echo "" >> "${PROJECT_DIR}"/main.bash
|
|
echo "# Main script for ${PROJECT_NAME}" >> "${PROJECT_DIR}"/main.bash
|
|
echo "source ./modules/header.bash" >> "${PROJECT_DIR}"/main.bash
|
|
echo "" >> "${PROJECT_DIR}"/main.bash
|
|
echo "# Add your code here" >> "${PROJECT_DIR}"/main.bash
|
|
echo "" >> "${PROJECT_DIR}"/main.bash
|
|
echo "# End of main script" >> "${PROJECT_DIR}"/main.bash
|
|
echo "" >> "${PROJECT_DIR}"/main.bash
|
|
|
|
echo "Project '${PROJECT_NAME}' initialized successfully in ${PROJECT_DIR}"
|
|
}
|