An open API service indexing awesome lists of open source software.

https://github.com/marcuwynu23/git-community-standards

CLI tool to apply standard community files to a GitHub repository from a shared template source.
https://github.com/marcuwynu23/git-community-standards

code-of-conduct community-standars contributing funding git github guidelines license release-notes

Last synced: 3 months ago
JSON representation

CLI tool to apply standard community files to a GitHub repository from a shared template source.

Awesome Lists containing this project

README

          

# git-community-standards

CLI tool to apply standard community files to a GitHub repository from a shared template source.

[![Test](https://img.shields.io/github/actions/workflow/status/marcuwynu23/git-community-standards/test.yml?branch=main&label=test)](https://github.com/marcuwynu23/git-community-standards/actions/workflows/test.yml)
[![Release](https://img.shields.io/github/actions/workflow/status/marcuwynu23/git-community-standards/release.yml?label=release)](https://github.com/marcuwynu23/git-community-standards/actions/workflows/release.yml)
[![Latest Release](https://img.shields.io/github/v/release/marcuwynu23/git-community-standards)](https://github.com/marcuwynu23/git-community-standards/releases)
[![License](https://img.shields.io/github/license/marcuwynu23/git-community-standards)](./LICENSE)
[![Go Version](https://img.shields.io/badge/go-1.23%2B-00ADD8)](https://go.dev/)

## Overview

`git-community-standards` helps keep repository governance docs consistent by downloading and writing common files such as:

- `README.md`
- `CONTRIBUTING.md`
- `CODE_OF_CONDUCT.md`
- `RELEASE-NOTES.md`
- `LICENSE` (when available in source)
- `SECURITY.md` (when available in source)
- `.github/FUNDING.yml`
- `.github/ISSUE_TEMPLATE/*`
- `.github/PULL_REQUEST_TEMPLATE.md`

The tool supports safe default behavior (skip existing files) and explicit override mode.

## Installation

### Build from source

```bash
git clone https://github.com/marcuwynu23/git-community-standards.git
cd git-community-standards
go build -o git-community-standards .
```

On Windows, build `git-community-standards.exe`.

### Development build with Makefile

```bash
make build
```

## Usage

This project is designed to be used in git-style form:

```bash
git community-standards list
git community-standards apply
git community-standards apply
git community-standards apply override
git community-standards apply override
git community-standards --version
git community-standards -v
```

If you run the binary directly, the same command arguments work without the leading `git`.

### Commands

- `list`: show available categories.
- `apply`: apply all categories.
- `apply `: apply one category.
- `override`: replace existing files instead of skipping them.

### Categories

- `root`
- `github`
- `issue-templates`
- `pr-template`

## Development

### Requirements

- Go 1.23+
- GNU Make (optional, for convenience commands)

### Local checks

```bash
make test
make build
```

### Release builds

```bash
make release
```

This produces binaries in `dist/` for:

- linux/amd64, linux/arm64
- darwin/amd64, darwin/arm64
- windows/amd64, windows/arm64

## CI and Releases

- `test.yml` validates tests and cross-platform build checks.
- `release.yml` runs on tags (`v*`), depends on test workflow, and publishes release assets for all OS/architecture targets.

## Contributing

Contributions are welcome. See `CONTRIBUTING.md` for contribution workflow and standards.

## License

See `LICENSE`.