Helloworld is a minimalist project template designed to serve as a starting point for creating new applications or scripts. It provides a foundational setup with essential files, CI/CD configurations, and examples that can be extended into more complex tagged branches. This repository emphasizes simplicity, reusability, and clarity, ensuring minimal changes are needed when branching into new projects.
- Build the Docker image:
docker build -t helloworld .
- Run the Docker container:
docker run helloworld
- Ensure
bash
is installed on your system. - Execute the script:
bash src/main.sh
- Minimalist Template: Start small and expand as needed.
- Cross-Platform Support: Works seamlessly in Docker or local bash environments.
- Scalable Structure: Add scripts to the
src/
directory to increase functionality. - CI/CD Ready: Includes GitHub Actions for automated testing and validation.
helloworld/
βββ src/ # Contains all scripts
β βββ main.sh # Primary script executed by Docker
βββ .github/ # CI/CD configurations
β βββ workflows/
β βββ ci.yml # GitHub Actions CI workflow
β βββ cd.yml # GitHub Actions CD workflow
βββ Dockerfile # Builds and runs the container
βββ README.md # Project documentation
This repository includes separate GitHub Actions pipelines for CI and CD:
- Continuous Integration (CI): Validates changes through testing and linting.
- Configuration:
ci.yml
- Configuration:
- Continuous Deployment (CD): Automates deployment tasks.
- Configuration:
cd.yml
- Configuration:
We welcome contributions! If you want to expand this template or add a tagged branch:
- Fork the repository.
- Create a new branch with your changes.
- Submit a pull request with detailed information about your additions.
- Tagged branches for language-specific templates:
hellonode
: Node.js/TypeScript setup with tools like ESLint and Vitest.hellopython
: Python environment with linting and testing.hellogo
: Go setup with modules and testing.
- Sub-branches for popular frameworks and libraries:
- Vue.js, React, Angular, Express.js, and more.
This project is licensed under the MIT License. See the LICENSE
file for details.