git.starter-template
Reusable starter boilerplate template for github repos
Science Score: 44.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (15.6%) to scientific vocabulary
Keywords
Repository
Reusable starter boilerplate template for github repos
Basic Info
- Host: GitHub
- Owner: dylarcher
- License: mit
- Language: JavaScript
- Default Branch: main
- Homepage: https://dylarcher.github.io/git.starter-template/
- Size: 803 KB
Statistics
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 2
- Releases: 0
Topics
Metadata Files
README.md
Crafting Your Project's Welcome Mat: A README Template
Introduction
This repository serves as a comprehensive starter template for new Git projects. It aims to provide a well-structured, best-practice foundation, enabling developers to kickstart their projects quickly with pre-configured tools and workflows.
Example:
```markdown
My Awesome Project
- Standardize Project Setup: Offer a consistent structure for new repositories.
- Promote Best Practices: Integrate tools and configurations that encourage high-quality code and contributions.
- Automate Common Tasks: Include GitHub Actions workflows for linting, formatting, testing, and more.
- Streamline Contributions: Provide clear guidelines and templates for issues and pull requests.
- Facilitate Updates: Make it easy for projects generated from this template to pull in upstream changes.
II. Core Purpose & Goals
(This section is crucial for setting context. It's similar to an "Author's Intent" but for the project as a whole.)
- What problem does your project solve?
- What are the main goals or vision for this project?
- Who is the intended audience or user base?
Guidance: Be clear and compelling. This helps others understand the value and direction of your project.
III. Key Features / Modules
- List the most important features or components of your project.
- Briefly describe what each feature does.
- Use bullet points for readability.
Example:
```markdown
Key Features
- Feature A: Enables users to accomplish Task 1 seamlessly.
- Feature B: Provides advanced analytics for Data Set Z.
Module C: Integrates with External Service Q. ```
Pre-configured Linters & Formatters:
- Biome for JavaScript/TypeScript linting and formatting.
markdownlintfor Markdown file consistency.yaml-lintfor YAML file validation.
GitHub Actions Workflows:
format.yml: Automatically formats code on pull requests and commits changes to the PR branch.lint.yml: Lints code (JavaScript, Markdown, YAML) on pull requests and commits changes to the PR branch.test.yml: Runs tests (example setup included).codeql.yml: Integrates GitHub's CodeQL for security analysis.changelog.yml: Generates a changelog from commit messages.stale.yml: Marks inactive issues and pull requests as stale.issue.yml: Summarizes new issues using AI and comments on them.label.yml: Automatically labels pull requests based on conventional commit prefixes.update-from-template.yml: A reusable workflow to help update projects generated from this template.
Issue and Pull Request Templates:
- Comprehensive templates for bug reports, feature requests, documentation improvements, and more.
- A default pull request template.
Dependabot Configuration:
dependabot.ymlis set up to help keep dependencies up-to-date.
EditorConfig & VSCode Settings:
.editorconfigfor consistent coding styles across different editors.- Recommended VSCode extensions and settings in
.vscode/.
Code Ownership:
.github/CODEOWNERSfile to define default reviewers.
Security Policy:
SECURITY.mdoutlining how to report vulnerabilities.
Node.js Versioning:
.nvmrcto specify the recommended Node.js version.
Prerequisites: List any software or tools users need before they can use your project (e.g., Node.js version, Python version, specific libraries).
Installation Steps: Provide clear, step-by-step instructions on how to install your project.
Basic Usage: A simple example of how to run or use the project once installed.
Create a New Repository:
- Click the "Use this template" button on the GitHub page of this repository.
- Select "Create a new repository".
- Choose an owner, provide a repository name, and set its visibility.
- Click "Create repository".
Clone Your New Repository:
bash git clone https://github.com/YOUR_USERNAME/YOUR_REPOSITORY_NAME.git cd YOUR_REPOSITORY_NAMECustomize the Project:
- Search and Replace: Globally search for
dylarcher/git.starter-templateand replace it withYOUR_USERNAME/YOUR_REPOSITORY_NAMEin files likeREADME.md,CITATION.cff, and potentially workflow files if they contain direct repository references. Also, update any author-specific information (e.g., inCITATION.cff). - Project Name & Description: Update
package.json(if it's a Node.js project) and other relevant files with your project's specific name, description, author, etc. - LICENSE: While this template uses the MIT License, ensure it's appropriate for your project or replace
LICENSEwith your chosen license. - Remove Unnecessary Files: Delete any example code (
src/,test/), documentation (docs/), or configuration files that are not relevant to your project. For instance, if your project isn't JavaScript-based, removepackage.json,.npmrc,.nvmrc, and Biome configurations. - Update
CHANGELOG.md: You might want to clear or re-initialize theCHANGELOG.mdfor your new project. - Review Workflows: Adjust the GitHub Actions workflows in
.github/workflows/to suit your project's needs (e.g., specific build steps, deployment configurations).
- Search and Replace: Globally search for
- Node.js (v14 or higher)
- npm (v6 or higher)
This template includes a reusable workflow
(.github/workflows/update-from-template.yml) to help you pull in updates and
new features from this template into your own project.
- Clone the repository:
git clone https://github.com/yourusername/yourproject.git - Navigate to the project directory:
cd yourproject - Install dependencies:
npm install - Ensure your project was created from this template.
- Go to the "Actions" tab in your repository.
- Select the "Update from Template" workflow from the list of workflows.
- Click the "Run workflow" button. You can usually leave the default
branch (
mainormaster) selected. - This workflow will fetch the latest changes from
dylarcher/git.starter-template, create a new branch in your repository with these changes, and open a pull request. - Review the pull request carefully. It will contain all the commits made to this template since you last updated or since your project was created.
- Merge the pull request to incorporate the updates. You may need to resolve merge conflicts if you've made changes to the same files that were updated in the template.
npm start
Repository Updates
This project includes mechanisms to keep it updated with the latest changes from the original template repository (dylarcher/git.starter-template).
Manual Updates with npm run update:starter-files
You can manually fetch and merge updates by running the following command in your local repository:
bash
npm run update:starter-files
This script will:
- Ensure a git remote named
templatepoints tohttps://github.com/dylarcher/git.starter-template.git. - Fetch the latest changes from the
templateremote. - Merge the changes from
template/maininto your current branch, allowing for unrelated histories.
Automated Updates with GitHub Actions
This repository includes a GitHub Action workflow named "Update from Template" (defined in .github/workflows/starterfiles.yml) that automates the update process.
- Functionality: This workflow uses the
npm run update:starter-filesscript to fetch and merge changes from the template repository. If changes are found, it creates a pull request with these updates. - Schedule: It runs automatically on a daily basis (at midnight UTC).
- Manual Trigger: You can also manually trigger this workflow from the "Actions" tab of your GitHub repository.
- Process:
- Go to the "Actions" tab in your repository.
- Select the "Update from Template" workflow.
- Click the "Run workflow" button.
- If updates are available, a pull request will be automatically created.
- Review the pull request and merge it to incorporate the updates. You may need to resolve merge conflicts if you've made changes to the same files that were updated in the template.
Using the GitHub Action is the recommended way to keep your project up-to-date with the template.
Release Process
This project uses GitHub Actions to automate the release process. New versions are released when a tag matching the pattern v*.*.* (e.g., v1.0.0, v0.2.1) is pushed to the repository.
Creating a Release
- Determine the next version number: Based on Semantic Versioning (MAJOR.MINOR.PATCH), decide the appropriate next version for your changes.
Create and push a new tag:
bash git tag vX.Y.Z git push origin vX.Y.Z(Replace
vX.Y.Zwith the actual version number).Automated Release: Pushing the tag will trigger the "Create Release" GitHub Actions workflow. This workflow will:
- Build the project.
- Create a
release/directory locally on the runner. - Package distributable files (
dist/directory,README.md,LICENSE,package.json) into a ZIP archive namedrelease-vX.Y.Z.zipinside the runner'srelease/directory. - Create a new GitHub Release named "Release vX.Y.Z".
- Upload the
release-vX.Y.Z.ziparchive from the runner as an asset to the GitHub Release. - Automatically generate release notes based on the commit messages since the last tag.
Accessing Release Artifacts
The primary way to get release artifacts is through the Releases page of the GitHub repository. Each release will have the versioned ZIP archive (release-vX.Y.Z.zip) available for download. The release/ directory mentioned in the workflow steps is created on the GitHub Actions runner during the release process for packaging and is not committed to the repository itself.
V. How to Contribute
Contributions to improve this template are welcome! Please see the CONTRIBUTING.md file for guidelines.
Example:
```markdown
How to Contribute
We welcome contributions! Please see our CONTRIBUTING.md for detailed guidelines on how to get involved, report issues, and submit pull requests. ```
VI. License
- State the license under which your project is released.
- Link to the
LICENSEfile in your repository.
Example:
```markdown
License
This project is licensed under the MIT License - see the LICENSE file for details. ```
VII. (Optional) Further Sections
Consider adding other sections as your project grows or based on its nature:
- API Documentation: If your project is a library or API.
- Examples: More detailed usage examples.
- Roadmap: Future plans for the project.
- Acknowledgements: If you want to credit inspirations or major contributors.
- Contact/Support: How users can get help.
Remember to replace placeholders and examples with your project's specific information! Good luck!
Owner
- Name: Dylan Archer
- Login: dylarcher
- Kind: user
- Location: Raleigh, NC 27612
- Company: DDS @ Dell Technologies, Inc.
- Website: https://gist.github.com/darcher-
- Repositories: 1
- Profile: https://github.com/dylarcher
Primarily used for demo code & helping others. Don't use code from here unless you test it.
Citation (CITATION.cff)
abstract: A github starter template for creating a new repository with a set of predefined structures, documents and configurations. # A brief description of the software.
authors: # List of authors.
- email: dylarcher@gmail.com # Author's email address.
family-names: Archer # Author's family name.
given-names: Dylan # Author's given name.
cff-version: 1.2.0 # The version of the Citation File Format specification used.
date-released: YYYY-MM-DD # The date the software was released.
keywords: # Keywords describing the software.
- github-template # Keyword related to GitHub templates.
- starter-template # Keyword related to starter templates.
- javascript # Keyword indicating the primary language.
- repository-template # Keyword related to repository templates.
- project-template # Keyword related to project templates.
license: MIT # The license under which the software is distributed.
message: If you use this software, please cite it as below. # A message to users about how to cite the software.
repository-code: https://github.com/dylarcher/git.starter-template # The URL of the code repository.
title: git.starter-template # The title of the software.
type: software # The type of entity being described (in this case, software).
url: https://dylarcher.github.io/git.starter-template # A URL related to the software (e.g., documentation).
version: 0.1.0 # The version of the software.
GitHub Events
Total
- Issues event: 1
- Delete event: 59
- Issue comment event: 9
- Push event: 119
- Public event: 1
- Pull request event: 113
- Pull request review event: 102
- Pull request review comment event: 37
- Create event: 66
Last Year
- Issues event: 1
- Delete event: 59
- Issue comment event: 9
- Push event: 119
- Public event: 1
- Pull request event: 113
- Pull request review event: 102
- Pull request review comment event: 37
- Create event: 66
Issues and Pull Requests
Last synced: 7 months ago
All Time
- Total issues: 0
- Total pull requests: 18
- Average time to close issues: N/A
- Average time to close pull requests: 15 minutes
- Total issue authors: 0
- Total pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 0.06
- Merged pull requests: 16
- Bot issues: 0
- Bot pull requests: 0
Past Year
- Issues: 0
- Pull requests: 18
- Average time to close issues: N/A
- Average time to close pull requests: 15 minutes
- Issue authors: 0
- Pull request authors: 1
- Average comments per issue: 0
- Average comments per pull request: 0.06
- Merged pull requests: 16
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- dylarcher (1)
Pull Request Authors
- dylarcher (67)
- dependabot[bot] (18)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- actions/checkout v4 composite
- actions/setup-node v4 composite
- github/codeql-action/analyze v3 composite
- github/codeql-action/autofix v2 composite
- github/codeql-action/init v3 composite
- actions/checkout v4 composite
- actions/setup-node v4 composite
- actions/ai-inference v1 composite
- actions/checkout v4 composite
- actions/checkout v4 composite
- actions/labeler v5 composite
- actions/checkout v4 composite
- actions/setup-node v4 composite
- actions/checkout v4 composite
- actions/github-script v7 composite
- actions/stale v9 composite
- actions/checkout v4 composite
- actions/setup-node v4 composite
- actions/upload-artifact v4 composite
- @types/node 22.15.30 development
- @types/yargs 17.0.33 development
- @types/yargs-parser 21.0.3 development
- undici-types 6.21.0 development
- @bcoe/v8-coverage 1.0.2
- @isaacs/cliui 8.0.2
- @istanbuljs/schema 0.1.3
- @jridgewell/resolve-uri 3.1.2
- @jridgewell/sourcemap-codec 1.5.0
- @jridgewell/trace-mapping 0.3.25
- @pkgjs/parseargs 0.11.0
- @types/chrome 0.0.326
- @types/filesystem 0.0.36
- @types/filewriter 0.0.33
- @types/har-format 1.2.16
- @types/istanbul-lib-coverage 2.0.6
- @types/vscode 1.100.0
- ansi-regex 6.1.0
- ansi-regex 5.0.1
- ansi-styles 4.3.0
- ansi-styles 6.2.1
- balanced-match 1.0.2
- brace-expansion 2.0.1
- c8 10.1.3
- cliui 8.0.1
- cliui 9.0.1
- color-convert 2.0.1
- color-name 1.1.4
- convert-source-map 2.0.0
- cross-spawn 7.0.6
- eastasianwidth 0.2.0
- emoji-regex 8.0.0
- emoji-regex 9.2.2
- emoji-regex 10.4.0
- escalade 3.2.0
- find-up 5.0.0
- foreground-child 3.3.1
- get-caller-file 2.0.5
- get-east-asian-width 1.3.0
- glob 10.4.5
- has-flag 4.0.0
- html-escaper 2.0.2
- is-fullwidth-code-point 3.0.0
- isexe 2.0.0
- istanbul-lib-coverage 3.2.2
- istanbul-lib-report 3.0.1
- istanbul-reports 3.1.7
- jackspeak 3.4.3
- locate-path 6.0.0
- lru-cache 10.4.3
- make-dir 4.0.0
- minimatch 9.0.5
- minipass 7.1.2
- p-limit 3.1.0
- p-locate 5.0.0
- package-json-from-dist 1.0.1
- path-exists 4.0.0
- path-key 3.1.1
- path-scurry 1.11.1
- require-directory 2.1.1
- semver 7.7.2
- shebang-command 2.0.0
- shebang-regex 3.0.0
- signal-exit 4.1.0
- string-width 7.2.0
- string-width 4.2.3
- string-width 5.1.2
- string-width-cjs 4.2.3
- strip-ansi 6.0.1
- strip-ansi 7.1.0
- strip-ansi-cjs 6.0.1
- supports-color 7.2.0
- test-exclude 7.0.1
- typescript 5.8.3
- v8-to-istanbul 9.3.0
- which 2.0.2
- wrap-ansi 9.0.0
- wrap-ansi 7.0.0
- wrap-ansi 8.1.0
- wrap-ansi-cjs 7.0.0
- y18n 5.0.8
- yargs 17.7.2
- yargs 18.0.0
- yargs-parser 21.1.1
- yargs-parser 22.0.0
- yocto-queue 0.1.0
- @types/node 22.15.30 development
- @types/yargs 17.0.33 development
- yargs 18.0.0