Skip to main content

A tool for creating project structures from templates

Project description

STRCT: Structure Creator Tool 🚀

PyPI version Python Versions License: MIT codecov

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:

  1. Create a new project structure:

    strct <structure_type> [destination_path]
    
  2. List available templates:

    strct list
    
  3. Add a new template:

    strct add <template_name> <source_path>
    
  4. Delete a template:

    strct delete <template_name>
    
  5. Perform Git operations on a template:

    strct git <template_name> <operation> [args]
    
  6. 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:

  1. Initialize a Git repository for a template:

    strct git my-template init
    
  2. Add files to the staging area:

    strct git my-template add .
    
  3. Commit changes:

    strct git my-template commit -m "Update template structure"
    
  4. View commit history:

    strct git my-template log --oneline -n5
    
  5. Check repository status:

    strct git my-template status
    

🛠 How It Works

  1. Template Selection: Choose from predefined or custom project templates.
  2. Structure Creation: STRCT generates the directory structure and files based on the selected template.
  3. Git Integration: Optionally manage Git repositories for your templates.
  4. Customization: Easily modify the created structure to fit your specific needs.
  5. 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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

strct_tool-0.4.9.tar.gz (12.0 kB view details)

Uploaded Source

Built Distribution

strct_tool-0.4.9-py3-none-any.whl (13.2 kB view details)

Uploaded Python 3

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

Hashes for strct_tool-0.4.9.tar.gz
Algorithm Hash digest
SHA256 9910e11d46de4ba6f2c014f15fe47e6a0524e94b93b4e8449a82bca574dde11d
MD5 5cca7aca9ce06d9a27303b2442d705c0
BLAKE2b-256 0f8e1192466beece99ee605931b8a316603415a70da1c99ffe72f68881de8abe

See more details on using hashes here.

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

Hashes for strct_tool-0.4.9-py3-none-any.whl
Algorithm Hash digest
SHA256 ebf1dee3d812bd1c9958b1ca9ed6cdceac5aa8a560421fcfcb78b4e27a846e3d
MD5 e9e3f123c3df2cbae8f423920da935bb
BLAKE2b-256 f1f7c928a9d11606322e885fb10f9f095f7d0d22d6b0628226e2432a8496b8c1

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page