A tool for creating project structures from templates
Project description
STRCT: Structure Creator Tool 🚀
STRCT is a powerful and flexible command-line tool designed to streamline your project initialization process. Say goodbye to manual directory creation and hello to consistent, scalable project structures with integrated Git support! 🎉
🌟 Features
- 🚀 Create project structures from predefined templates
- 🔧 Add custom templates from existing directories
- 🎯 Specify custom destination paths for your projects
- 📋 List and manage available templates
- 🔄 Cross-platform compatibility (Windows, macOS, Linux)
- 🌿 Integrated Git support for template management
🚀 Quick Start
Installation
You can install STRCT using pip:
pip install strct-tool
for Windows:
pip install strct-tool --user
or Run cmd as Administrator and use first command
Usage
After installation, you can use STRCT from the command line:
-
Create a new project structure:
strct <structure_type> [destination_path]
-
List available templates:
strct list
-
Add a new template:
strct add <template_name> <source_path>
-
Delete a template:
strct delete <template_name>
-
Perform Git operations on a template:
strct git <template_name> <operation> [args]
-
Get help:
strct help
📚 Detailed Usage
Creating a Project Structure
To create a new project structure, use the following command:
strct <structure_type> [destination_path]
<structure_type>
: The name of the template you want to use.[destination_path]
: Optional. The path where you want to create the project. If not specified, the current directory will be used.
Example:
strct python-flask my_new_project
This command will create a new Flask project structure in a directory called my_new_project
.
Listing Available Templates
To see all available templates, use:
strct list
This will display a list of all templates you can use to create project structures.
Adding a New Template
To add a new template based on an existing project structure:
strct add <template_name> <source_path>
<template_name>
: The name you want to give to your new template.<source_path>
: The path to the existing project structure you want to use as a template.
Example:
strct add my-react-template ./existing-react-project
Deleting a Template
To remove a template:
strct delete <template_name>
This will permanently remove the specified template.
Git Operations on Templates
STRCT supports Git operations on templates. The syntax for Git operations is:
strct git <template_name> <operation> [args]
<template_name>
: The name of the template you want to perform Git operations on.<operation>
: The Git operation you want to perform (e.g., init, add, commit, log, status, etc.).[args]
: Additional arguments for the Git operation (optional).
Examples:
-
Initialize a Git repository for a template:
strct git my-template init
-
Add files to the staging area:
strct git my-template add .
-
Commit changes:
strct git my-template commit -m "Update template structure"
-
View commit history:
strct git my-template log --oneline -n5
-
Check repository status:
strct git my-template status
🛠 How It Works
- Template Selection: Choose from predefined or custom project templates.
- Structure Creation: STRCT generates the directory structure and files based on the selected template.
- Git Integration: Optionally manage Git repositories for your templates.
- Customization: Easily modify the created structure to fit your specific needs.
- Reusability: Save time on future projects by reusing your templates.
🤝 Contributing
We welcome contributions from the community! Whether it's bug fixes, new features, or documentation improvements, your help is appreciated. Please see our Contributing Guide for more details on how to get started.
🐛 Reporting Issues
If you encounter any bugs or have feature requests, please file an issue on our GitHub Issue Tracker. When reporting a bug, please include:
- Your operating system name and version
- Any details about your local setup that might be helpful in troubleshooting
- Detailed steps to reproduce the bug
🤔 FAQs
Can I use STRCT for any type of project?
Yes! STRCT is language-agnostic and can be used for any type of project structure.How do I create custom templates?
Use the `strct add` command to create a new template from an existing directory structure.Is STRCT suitable for team use?
Absolutely! STRCT helps maintain consistency across team projects by using shared templates.Can I use STRCT in my CI/CD pipeline?
Yes, STRCT can be easily integrated into CI/CD pipelines to ensure consistent project structures across your builds.📜 License
STRCT is released under the MIT License. See the LICENSE file for more details.
🙏 Acknowledgements
- All our contributors and users
- The Python community for their invaluable tools and libraries
📬 Contact
For support or queries, please open an issue on our GitHub repository.
Made with ❤️ by developers, for developers.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file strct_tool-0.4.9.tar.gz
.
File metadata
- Download URL: strct_tool-0.4.9.tar.gz
- Upload date:
- Size: 12.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9910e11d46de4ba6f2c014f15fe47e6a0524e94b93b4e8449a82bca574dde11d |
|
MD5 | 5cca7aca9ce06d9a27303b2442d705c0 |
|
BLAKE2b-256 | 0f8e1192466beece99ee605931b8a316603415a70da1c99ffe72f68881de8abe |
File details
Details for the file strct_tool-0.4.9-py3-none-any.whl
.
File metadata
- Download URL: strct_tool-0.4.9-py3-none-any.whl
- Upload date:
- Size: 13.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.19
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ebf1dee3d812bd1c9958b1ca9ed6cdceac5aa8a560421fcfcb78b4e27a846e3d |
|
MD5 | e9e3f123c3df2cbae8f423920da935bb |
|
BLAKE2b-256 | f1f7c928a9d11606322e885fb10f9f095f7d0d22d6b0628226e2432a8496b8c1 |