Dev-Craft is a powerful CLI tool designed to streamline the setup and management of development environments for various types of projects. It ensures that necessary software is installed, creates GitHub repositories, sets up project directories, and generates initial README files using AI.
- Automatically installs necessary software (VSCode, Git, Python)
- Creates GitHub repositories
- Sets up project directories with common subfolders
- Generates comprehensive README files using AI
- Installs base packages for various project templates
- Opens project in VSCode
Prerequisites: Python 3.6+
-
Clone the repository:
git clone https://github.com/yourusername/dev-craft.git cd dev-craft
-
Run the install script:
chmod +x install.sh ./install.sh
-
Install dependencies manually (if not using the install script):
pip install .
After installation, you can use the dev-craft
command to initialize your projects. The CLI provides various commands to automate the setup process.
dev-craft create_repo my-new-project "A description of my new project" "web application" --private --env-file /path/to/.env
This command will:
- Create a new private GitHub repository named
my-new-project
- Set up a project folder with necessary subfolders
- Generate a comprehensive README file
- Initialize a Git repository and push the initial commit
- Create a Python virtual environment
- Install base packages for a web application
- Open the project in VSCode
After running dev-craft
, your project directory will look like this:
my-new-project/
├── README.md
├── env/
├── src/
├── tests/
└── docs/
Follow the steps below to run Dev-Craft locally
- Clone the project
git clone https://github.com/pythonicforge/Dev-Craft.git
- Go to the project directory
cd Dev-Craft
- Install dependencies
pip install -r reuqirements.txt
- Run the App
python dev_craft/cli.py --help
Ensure you have a .env
file in the root of your project or specify its path using the --env-file
option. The .env
file should contain the following variables:
GITHUB_TOKEN = <your_github_personal_access_token>
EMAIL_ADDRESS = <your_email_address>
PASSWORD = <your_password>
Creates a new GitHub repository and sets up the project directory.
Arguments:
repo_name
: Name of the repositorydescription
: Description of the repositorytemplate
: Project template type (choose from: "web application", "data science", "machine learning")
Options:
--private
: Create a private repository--env-file
: Path to the.env
file (default:.env
)
Client: Python-argparse, Shell scripting
Server: Python
We welcome contributions to Dev-Craft! Please follow these steps to contribute:
- Fork the repository
- Create a new branch (
git checkout -b feature-branch
) - Make your changes
- Commit your changes (
git commit -m 'Add some feature'
) - Push to the branch (
git push origin feature-branch
) - Open a pull request
This project is licensed under the MIT License. See the LICENSE file for details.