Skip to content

greggh/base-project-template

Repository files navigation

Base Project Template

GitHub License GitHub Stars GitHub Issues GitHub Last Commit CI Version Discussions

A comprehensive template repository with best practices for modern GitHub projects. Fork this repository to quickly set up new projects with standardized community guidelines, documentation, and GitHub configurations.

FeaturesGetting StartedWhat's IncludedCustomizationContributingLicenseDiscussions

Features

  • 👥 Community Guidelines - Code of conduct, contributing guide, and support information
  • 🔒 Security Policy - Vulnerability reporting and security expectations
  • ⚙️ GitHub Configurations - Issue/PR templates, funding information, and workflow examples
  • 📚 Documentation Templates - Readme, changelog, development guide, and roadmap
  • 📁 Project Structure - Common directories and file templates

Getting Started

  1. Click "Use this template" on GitHub to create a new repository based on this template
  2. Clone your new repository
  3. Run the setup script to customize the template for your project:
    ./scripts/setup.sh
  4. Update the documentation files with your project-specific information
  5. Set up your development environment based on the development guide
  6. Start developing!

Installation

This template can be used with any type of project. Depending on the type of project you're creating, you might use one of these installation approaches:

JavaScript/TypeScript Projects

# Using npm
npm install your-project-name

# Using yarn
yarn add your-project-name

# Using pnpm
pnpm add your-project-name

Python Projects

# Using pip
pip install your-project-name

# Using poetry
poetry add your-project-name

Docker Projects

# Pull the image
docker pull username/project-name:latest

# Run the container
docker run -d username/project-name

Usage

After setting up your project from this template, you can customize it for your specific needs:

# Example: Adding a new feature in JavaScript project
npm run dev

# Example: Running tests
npm test

For detailed usage instructions specific to your project, replace this section with appropriate documentation.

What's Included

Documentation

  • README.md - Project introduction and main documentation
  • CHANGELOG.md - Keep a Changelog-formatted version history
  • CODE_OF_CONDUCT.md - Contributor Covenant code of conduct
  • CONTRIBUTING.md - Guide for contributing to the project
  • DEVELOPMENT.md - Development environment setup instructions
  • LICENSE - MIT License by default (customize as needed)
  • ROADMAP.md - Project goals and planned features
  • SECURITY.md - Security policy and vulnerability reporting
  • SUPPORT.md - How to get help with your project

GitHub Configuration

  • .github/ISSUE_TEMPLATE/ - Templates for bug reports and feature requests
  • .github/PULL_REQUEST_TEMPLATE.md - Pull request template
  • .github/FUNDING.yml - Funding links configuration
  • .github/workflows/ - CI/CD workflows for validation and releases

Project Structure

  • .gitignore - Common ignore patterns
  • .editorconfig - Consistent coding styles across editors
  • docs/ - Extended documentation directory
  • examples/ - Example code directory
  • scripts/ - Utility scripts directory

Customization

This template is designed to be customized for your specific project. You should:

  1. Update all documentation files with your project details
  2. Choose appropriate GitHub workflow files for your language/framework
  3. Customize ignore patterns and editor configurations
  4. Remove any unnecessary components
  5. Add language-specific files and directories

Contributing

Contributions to improve this template are welcome! Please follow these steps:

  1. Fork the repository
  2. Create a feature branch: git checkout -b my-new-feature
  3. Commit your changes: git commit -am 'Add some feature'
  4. Push to the branch: git push origin my-new-feature
  5. Submit a pull request

Please make sure to:

  • Update documentation as needed
  • Follow the existing code style
  • Respect the purpose of the template

Discussions

Have questions or ideas? Join the conversation in GitHub Discussions.

License

This template is available under the MIT License. See the LICENSE file for details.

Acknowledgments


Made with ❤️ by greggh

About

A comprehensive template repository with GitHub best practices

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

  •  

Packages

No packages published