Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pythonicforge/dev-craft
A CLI tool to automate the setup of development environments, create GitHub repositories, and generate comprehensive project READMEs using AI.
https://github.com/pythonicforge/dev-craft
automation clitool githubapi python readmegenerator
Last synced: 20 days ago
JSON representation
A CLI tool to automate the setup of development environments, create GitHub repositories, and generate comprehensive project READMEs using AI.
- Host: GitHub
- URL: https://github.com/pythonicforge/dev-craft
- Owner: pythonicforge
- License: mit
- Created: 2022-10-10T14:36:51.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-06-23T07:05:41.000Z (6 months ago)
- Last Synced: 2024-06-23T08:23:08.222Z (6 months ago)
- Topics: automation, clitool, githubapi, python, readmegenerator
- Language: Python
- Homepage:
- Size: 65.4 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# _Dev-Craft_
![image](https://github.com/pythonicforge/Dev-Craft/assets/168327453/62de494c-2adf-48d3-8f54-74bc2bda1516)_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._
### _Features_
- _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_### _Installation_
_Prerequisites: Python 3.6+_
1. _**Clone the repository:**_
```bash
git clone https://github.com/yourusername/dev-craft.git
cd dev-craft
```2. _**Run the install script:**_
```bash
chmod +x install.sh
./install.sh
```3. _**Install dependencies manually (if not using the install script):**_
```bash
pip install .
```
### _Usage/Examples__After installation, you can use the `dev-craft` command to initialize your projects. The CLI provides various commands to automate the setup process._
```bash
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_
### _Project Structure__After running `dev-craft`, your project directory will look like this:_
```
my-new-project/
├── README.md
├── env/
├── src/
├── tests/
└── docs/
```### _Run Locally_
_Follow the steps below to run Dev-Craft locally_1. **_Clone the project_**
```bash
git clone https://github.com/pythonicforge/Dev-Craft.git
```2. **_Go to the project directory_**
```bash
cd Dev-Craft
```3. **_Install dependencies_**
```bash
pip install -r reuqirements.txt
```4. **_Run the App_**
```bash
python dev_craft/cli.py --help
```### _Environment Variables_
_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 =
EMAIL_ADDRESS =
PASSWORD =
```### _Commands_
#### `create_repo`
_Creates a new GitHub repository and sets up the project directory._
_**Arguments:**_
- _`repo_name`: Name of the repository_
- _`description`: Description of the repository_
- _`template`: 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`)_
### _Tech Stack__**Client:** Python-argparse, Shell scripting_
_**Server:** Python_
### _Contributing_
_We welcome contributions to Dev-Craft! Please follow these steps to contribute:_
1. _Fork the repository_
2. _Create a new branch (`git checkout -b feature-branch`)_
3. _Make your changes_
4. _Commit your changes (`git commit -m 'Add some feature'`)_
5. _Push to the branch (`git push origin feature-branch`)_
6. _Open a pull request_### License
_This project is licensed under the MIT License. See the [LICENSE](https://github.com/pythonicforge/Dev-Craft/blob/main/LICENSE) file for details._