Giter Site home page Giter Site logo

neoground / charm-toolkit Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 72 KB

Charm-Toolkit: The ultimate CLI tool for streamlined Charm development, simplifying server setup, project management & so much more.

License: MIT License

Shell 100.00%
charm-framework cli command-line php

charm-toolkit's Introduction

Welcome to Neoground's GitHub ๐Ÿš€

This banner showcases our raccoons, working together virtually on a significant project, embodying the spirit of teamwork and innovation in a modern tech environment.

Hello, fellow innovators! Welcome to our world of open-source repositories. Here, you'll discover our passion for open-source projects, our commitment to diversity, and our unique approach to technology, right from the heart of Germany, near Frankfurt am Main.


Greetings from Sven ๐Ÿ‘จโ€๐Ÿ’ป

As the curator of this account, I bring a fusion of creativity, expertise, and enthusiasm to every project. Our GitHub is a window into our world, showcasing the diverse, inclusive, and dynamic nature of our work.

I'm a German web dev expert & IT aficionado with 15+ years of PHP & Linux mastery. Passionate about server tech & software dev. Founder & Tech Visionary at Neoground. Learn more about me on my personal website R-Digital or on our company's blog.

Our Open-Source Journey ๐ŸŒŸ

We at Neoground believe in the power of open-source to revolutionize technology. Our projects are more than just code; they're a testament to our collaborative spirit and innovative mindset. Over the years we also created plenty internal projects - most of them are now becoming open-source as well!

Explore Our Projects: Visit our projects website to see how we're contributing to the open-source community. You can also find all of our project pages and documentations there.

Connecting Communities ๐ŸŒ

Join us on our journey across digital landscapes:

Our Essence: Embodying the Spirit of Innovation and Diversity ๐ŸŒˆ

Neoground is more than a tech company; we are a melting pot of cultures, ideas, and innovations. Located in the dynamic region of Wetterau, near Frankfurt am Main, our essence is deeply rooted in the rich cultural and intellectual heritage of Germany. Our diverse team reflects the vibrant spirit of this area, known for its blend of tradition and modernity, where history meets innovation.

What Defines Us:

  • Cultural Diversity: Our team members and contributors come from various backgrounds, bringing a wealth of perspectives that enrich our work and foster creative problem-solving.
  • Innovation Hub: Situated near Frankfurt, a hub of commerce and innovation, we draw inspiration from our surroundings, infusing our projects with cutting-edge ideas and technologies.
  • Commitment to Excellence: We believe in doing things right. Whether it's a small feature in an app or a large-scale AI project, our commitment to quality and detail is unwavering.
  • Passion for Technology: At our core, we are passionate about leveraging technology to make a positive impact on businesses and society. Our enthusiasm is evident in every line of code we write.

A Glimpse of Our World: Where Technology Meets Humanity ๐ŸŒ

At Neoground, we see technology as a force for good, a tool to create a more sustainable, inclusive, and connected world. Our vision extends beyond mere business success; we aim to initiate transformative changes that benefit society at large.

Our Vision and Spirit:

  • Tech for Good: We harness the power of technology to address societal challenges, believing in a future where technology serves humanity.
  • Sustainable Innovation: Our approach to technology is intertwined with our commitment to sustainability. From eco-friendly operations to developing green tech solutions, we're dedicated to making a positive environmental impact.
  • Inclusivity in Tech: We advocate for inclusivity in the tech world. Our projects and workplace practices are designed to be welcoming and accessible to all, regardless of background or ability.
  • A Beacon of Thought Leadership: As leaders in the tech community, we share our insights and learnings through blogs, talks, and workshops, inspiring others and fostering a culture of knowledge-sharing.
  • Embracing Regional Identity: Our location near Frankfurt am Main is not just a geographical fact; it's a source of inspiration. We embody the innovation, diversity, and forward-thinking spirit of this region, making it an integral part of our identity.

This banner showcases the raccoons in their nerdy hoodies, deeply engaged in various tech activities in a vibrant, energetic tech environment.

Collaborate with Us: Join the Neoground Open-Source Movement ๐Ÿค

At Neoground, collaboration is the cornerstone of innovation. We deeply value the contributions of developers, thinkers, and creators from all corners of the world. Our GitHub is more than just a repository of projects; it's a breeding ground for groundbreaking ideas and a platform where your contributions can make a real impact. We open source more and more of our projects, to contribute, to innovate and to build something sophisticated.

Code Contributions and Feedback

  • Get Involved in Development: If you're a developer, your code contributions are invaluable. Whether it's fixing bugs, adding new features, or improving documentation, your expertise can significantly enhance our projects.
  • Share Your Ideas and Feedback: Have an idea or suggestion? We welcome your input to help us grow and innovate. Open an issue or request on our repositories to share your thoughts.

Financial Support and Sponsorships

  • Become a Financial Contributor: Your financial investments directly support our project development, allowing us to dedicate more resources and time to innovation.
  • Sponsorships: We welcome sponsorships from individuals and organizations. As a sponsor, you'll be supporting a growing open-source community and gaining visibility among our network.
  • Donations: Every donation, big or small, helps us sustain and expand our open-source initiatives.

How Your Support Helps

  • Investing in Open Source: Your contributions, whether code, ideas, or financial, help us maintain and grow our open-source projects. This means better software, more features, and a stronger community.
  • Enabling Continuous Improvement: With your support, we can invest in research, development, and the overall improvement of our projects, ensuring they remain cutting-edge and high-quality.

Join Us in Making a Difference

Your support, in any form, makes a real difference. Together, we can drive innovation and create technology that not only serves our needs but also contributes positively to the broader tech community.


This banner features our red pandas using communication devices. This scene vividly captures the theme of connectivity and engagement in a digital world.

Stay in Touch: We're Just a Click Away! ๐ŸŒ

Neoground is more than just a company; we're a community of passionate individuals committed to making a difference. We love hearing from you, whether it's feedback, ideas, or just a hello. Staying connected helps us build stronger relationships and better technologies.

Ways to Reach Us:

  • Email & Chat: Have a question or an idea you'd like to share? Drop us an email or send a chat message. See our contact page for all details. We read every message and strive to respond promptly.
  • Social Media Interactions: Follow us on our social platforms for the latest updates, insights, and behind-the-scenes peeks into our work. Engage with our posts, share your thoughts, and be a part of our digital story.
  • Career Opportunities: Looking to take your career to the next level? Check out our careers page for opportunities to work with us. We're always on the lookout for talented and passionate individuals.

โœจ Every Message, Every Commit, Every Collaboration Shapes Our Journey. Let's Innovate Together. โœจ

charm-toolkit's People

Stargazers

 avatar

Watchers

 avatar

charm-toolkit's Issues

Add custom deploy commands for modules

When adding / removing modules make it possible to execute custom scripts which install / uninstall the module, including publishing config, assets, database updates, ...

Install charm module command

Command to automatically install a charm module: bob mod $package

Will check if package is in composer.json -> if so, ask for uninstall. If not, ask for install.

Will then run for install: composer require $package + php bob.php cm:i $package.
And for uninstall: php bob.php cm:r $package. + composer remove $package``

Support for existing folders

If running bob new site and the site dir already exists, e.g. already cloned from a new repository, keep the existing .git folder and don't create the main folder because it already exists.

Support for multiple templates

Besides charm-wireframe we may want to create further or even custom templates. E.g. for APIs or a small wireframe for charm modules.

With easy selection (choice) of wanted template with charm-wireframe as default whenever "new" command is executed.

Systemd management

Command to add systemd service for charm instance: bob systemd.

If it exists, ask to override or remove.

Will add timer if not exists (/etc/systemd/system/charm.timer):

[Unit]
Description=Run Charm Framework cron services every minute

[Timer]
OnCalendar=*:*:0/1
Persistent=true

[Install]
WantedBy=timers.target

Will add target if not exists (/etc/systemd/system/charm.target):

[Unit]
Description=Charm Framework cron target

Will add service for specific instance if not exists (/etc/systemd/system/charm-$name.service):

[Unit]
Description=Charm Demo Website Cronjob

[Service]
User=project-user
Group=user-group
ExecStart=/path/to/php $path cron:run

And link and activate it:

# Add timer
sudo systemctl daemon-reload
sudo systemctl enable charm.timer
sudo systemctl start charm.timer

# Add service
sudo systemctl enable charm-$name.service --now
sudo systemctl add-wants charm.target charm-$name.service

# Enable target
sudo systemctl enable charm.target

Add environment variables

Make it possible to set custom env variables:

  • path to php executable, so we can support non-standard php's, like custom php versions on plesk on prod servers or alike
  • path to composer phar file, often not in $PATH
  • same for other possibly used commands

Add support for multiple templates from monorepo

Support all templates in the neoground/charm-wireframe repository and process the config yaml there. Also add support for 3rd party templates via URL (manually enter / from config yaml for official templates).

Add own phar app

Create phar app based on charm and symfony/console to provide additional features

  • Move installation script and everything to own console commands
  • Add system-wide functions like systemd service creation / checker
  • System check (PHP version, SQL, Redis, etc.)
  • ...

Create phar with box: https://box-project.github.io/box/

Add simple UI

Add a simple interactive UI for easy management via a small browser window.

Manage multiple charm instances

If there are multiple charm projects on a server, make them listable (e.g. bob ls), maybe stored in a config file in the user's home dir?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.