Files
resumeformatter/new_project.sh
2025-10-14 19:51:35 +05:30

49 lines
1.5 KiB
Bash
Executable File

#!/bin/bash
# Check if APP_NAME parameter is provided
if [ -z "$1" ]; then
echo "Error: APP_NAME parameter is required"
echo "Usage: ./new_project.sh <APP_NAME>"
exit 1
fi
# Store the APP_NAME parameter
APP_NAME="$1"
APP_NAME_LOWER=$(echo "$APP_NAME" | tr '[:upper:]' '[:lower:]')
echo "Creating new project with name: $APP_NAME"
# Delete the .git folder
echo "Removing Git history..."
rm -rf .git
# Replace all references to NEW_APP_NAME with the provided APP_NAME
echo "Replacing NEW_APP_NAME with $APP_NAME in all files..."
find . -type f -not -path "*/\.*" -not -path "./node_modules/*" -not -path "./venv/*" -not -name "new_project.sh" -exec grep -l "NEW_APP_NAME" {} \; | xargs -I{} sed -i '' "s/NEW_APP_NAME/$APP_NAME/g" {}
# Create .env file with APP_NAME
echo "Creating .env file..."
echo "APP_NAME=$APP_NAME" > .env
# Initialize a new git repository
echo "Initializing new Git repository..."
git init
git add .
git commit -m "Initial commit for $APP_NAME project"
# Get the current directory name
CURRENT_DIR=$(basename "$(pwd)")
PARENT_DIR=$(dirname "$(pwd)")
# Move up one folder and rename the folder to the app name in lowercase
echo "Renaming project folder to $APP_NAME_LOWER..."
cd ..
mv "$CURRENT_DIR" "$APP_NAME_LOWER"
echo "Project setup complete!"
echo "Your new project is available at: $PARENT_DIR/$APP_NAME_LOWER"
echo "You can now cd into $APP_NAME_LOWER to start working on your project"
# The script will delete itself when executed from the new directory
# This is handled by the script not including itself in the files to be kept