andrewvaughan / template-core Goto Github PK
View Code? Open in Web Editor NEWMaster template that contains files associated with all personal GitHub repositories.
License: MIT License
Master template that contains files associated with all personal GitHub repositories.
License: MIT License
With any automation efforts:
Status
labels and transfer them to Project statusesPending
(or similar) state in the Kanban projectNo response
None
No response
No response
Existing Documentation
It's hard to read right now. Simplify and use short sentences.
No response
None
No response
Add a default helper to makefile. Look at https://github.com/oxsecurity/megalinter for inspiration.
Issue templates currently don't enforce the optional part of the checkbox from the GitHub example - may be a problem with GitHub, given it's directly from their documentation.
No response
None
No response
Add Status: Stale
label to any open issues with no activity in 30-days unless one of these labels is already on the issue:
Help Wanted
Needs Triage
Status: On Hold
Status: Stale
(ignore anything already marked)Status: 06-Released
Auto-close issues that have been marked Status: Stale
and have not had activity in 60-days, unless it was opened by a project maintainer with a message to the issue as to why it was closed.
The following logic items should be implemented:
Needs Triage
labelRequest: ...
labelHelp Wanted
labelNeeds Triage
label still existsNo Status
, Done
, or Parking Lot
statusesApproved for Development
project status, move it to In Progress
(All steps below are triggered only if there are no more assignees on the Issue)
Help Wanted
labelIn Progress
project status, revert to Approved for Development
and add a notice to the IssueCode Review
project status, revert to the Approved for Development
and add a notice to both the Issue and the Pull RequestPending Deployment
, User Acceptance Testing
, or Done
Needs Release Assignment
labelNo Status
or Parking Lot
statuses, add a warningNeeds Release Assignment
labelIn Progress
, Code Review
, Pending Deployment
, User Acceptance Testing, or
Done` statuses, add a warning***/####/***
####
is in status Approved for Development
move to In Progress
####
is in status No Status
or Parking Lot
add warning about working on unapproved effort####
is in status In Progress
, Code Review
, Pending Deployment
, or User Acceptance Testing
add warning about duplicative effort####
is in status Done
add warning about working on completed effort***/####/***
####
is status In Progress
or Code Review
, move Issue to status Approved for Development
and add a warning to the IssueMake sure that auto-branch deletion happens before this logic is performed or Code Review
warnings will occur when PRs are accepted
(closes #...)
and move Issues to status Code Review
(closes #...)
message is found, add a warning to the Pull Request that multiple Issues are attached(closes #...)
messages are found in the Branch, add a warning to the Pull Request that no Issues are attached(closes #...)
and move Issues to status Code Review
(closes #...)
were removed from prior commit messages and revert those Issues to In Progress
(closes #...)
message is now found, add a warning to the Pull Request that multiple Issues are attached(closes #...)
messages are now found in the Branch, add a warning to the Pull Request that no Issues are attachedSee various branch merge
tasks, below.
(closes #...)
and move Issues to status In Progress
with warningIn Progress
main
branch is updated via merge(closes #...)
and move Issues to status Pending Deployment
main
branch is updated via force push or rolled backmain
and new main
and update Issues accordingly
(closes #...)
that...
In Progress
and add label Needs Triage
User Acceptance Testing
or Done
move to Pending Deployment
with a warningUser Acceptance Testing
or Done
add a warning about a main
rollback on a furthered statusstaging
branch is updated via merge(closes #...)
and move Issues to status User Acceptance Testing
staging
branch is updated via force push or rolled backstaging
and new staging
and update Issues accordingly
(closes #...)
that...
In Progress
and add label Needs Triage
Done
move to User Acceptance Testing
with a warningDone
add a warning about a staging
rollback on a furthered statusproduction
branch is updated via merge(closes #...)
and move Issues to status Done
production
branch is updated via force push or rolled backproduction
and new production
and update Issues accordingly
(closes #...)
that...
In Progress
and add label Needs Triage
Done
with a warningAdd code-coverage analysis and minimums to the workflow. Add README instructions for how to customize this.
Add a CODEOWNERS file where the default goes to me.
No response
Existing documentation
https://github.com/andrewvaughan/template-core/workflows/MegaLinter/badge.svg
https://github.com/andrewvaughan/template-core/workflows/MegaLinter/badge.svg?branch=main
No response
None
No response
Add configuration files and workflows for label-sync to keep in sync with this repository:
https://github.com/marketplace/actions/label-sync
Without tons of custom dictionaries, add Makefile linting support for CSpell and Vale.
No response
None
No response
Due to a bug in Megalinter, Lychee configurations must be in the project root. When this issue is fixed, these configurations need to be moved back to the .config/linters
folder.
When all documentation is complete - read through everything and ensure:
Ensure a prose writer performs a check, as well.
Any changes and cleanup should be applied to this issue, or it can be closed directly if no work is needed.
Change a reference for commit requirements in contributing to:
https://developercertificate.org/
As much as possible, move linting from JSON to YML to allow for better in-document commenting.
No response
None
No response
Add a Makefile folder group with the following skeleton items:
all
test
test-lint
(to call Megalinter locally)test-bdd
(and create a GitHub workflow file that runs this for PRs)Right now, only push
end-to-end testing occurs on production
and staging
. This actually doesn't work as intended:
pull_request
is made to staging
or production
push
occurs to main
, staging
, or production
This way, badges always represent full end-to-end tests, but pull requests can be more efficient for main
. Pull requests for environments still should be end-to-end, however, to give reviewers a comprehensive overview of what to expect in the environment.
No response
None
No response
If a Pull Request drops reference to an issue, it can likely sit in a Code Review
status indefinitely, as there's no way to warn the issue maintainer that the issue was dropped.
Any issues In Progress
or beyond that don't change state should get a warning after 30-days and a Stale
label.
Add badge to README
Vale had a pretty cool looking license - I'm curious if this might be an option:
https://github.com/errata-ai/vale?tab=readme-ov-file#page_facing_up-license
Here's the Fossa dashboard:
No response
None
No response
Add standard security instructions for all projects.
Instead of using status labels for priority and status, create a Kanban project. Make sure to update the documentation (including template checklists) regarding the changes.
If possible, automate the creation and workflow rules for changes made to Issues based on project state.
No response
None
No response
Add tests in integration testing that check that
Look into why Require branches to be up to date before merging
in rulesets isn't finding megalinter and update the template checklist to have this checked once fixed.
No response
None
No response
Replace manual rules in _TEMPLATE_CHECKLIST.md
with imports, now that ruleset export/import are supported.
No response
None
No response
Uncomment configurations and code linting in Vale. Disabled due to issues with TokenIgnore/etc.
No response
None
No response
Add SUPPORT.md to direct GitHub users how to request support.
Configure dependabot and add instructions to the README on how to customize it; ensure it automatically creates Pull Requests for updates and vulnerabilities.
Add Megalinter, defaulting to "full" flavor. Instruct in README to adjust this to match the flavor most-appropriate for the project and to modify the configuration file(s) appropriately.
This can't be done until act
fixes their issue with job management:
Research a static code analysis workflow that can look at code changes for risks and performance.
See if the Docker layers can be cached to speed up action execution. Cache is limited to 10GB.
Megalinter is a great candidate, with the "basic" unflavored version taking over 2 minutes to pull each run.
Add a skeleton README file with instructions on steps to follow after cloning the template as well as instructions on how to use various workflows (e.g., label-sync).
Incorporate a simple banner (to make it easier for the project if they wish to use one) and the following badges:
Skeleton should contain the following sections:
Per SchemaStore/schemastore#3301 the GitHub issue schema is outdated and causing failures. There currently is an exclusion for the in-scope files in the .mega-linter.yml
root configuration that will need to be removed when this is resolved.
GitHub had a huge oversight when disabling Classic Projects and not supporting V2 Projects in GitHub Actions. As such, these automations could not be implemented and must be done manually during the SDLC. These should be added when and if GitHub finally gets around to meeting their established functionality with V1 projects.
This is an extension from Issue #23, so that other automation functionality would not be blocked.
Relevant references:
Although GitHub seems to not be interacting with the community much, I don't expect this to be fixed any time soon...
Approved for Development
Needs Triage
labelHelp Wanted
label, if no user assignedNeeds Release Assignment
label, if no milestone setRequest: ...
label to the appropriate Type: ...
labelRequest: ...
or Type: ...
label existsWontfix
label is on the Issue, add a warning commentIn Progress
Needs Triage
labelHelp Wanted
label and a warning, if no user assignedNeeds Release Assignment
label and a warning, if no milestone assignedRequest: ...
label to the appropriate Type: ...
labelRequest: ...
or Type: ...
label existsWontfix: ...
label existsCode Review
Needs Triage
labelHelp Wanted
label and a warning, if no user assignedNeeds Release Assignment
label and a warning, if no milestone assignedRequest: ...
label to the appropriate Type: ...
labelRequest: ...
or Type: ...
label existsWontfix: ...
label existsPending Deployment
Needs Triage
labelHelp Wanted
label and a warning, if no user assignedNeeds Release Assignment
label and a warning, if no milestone assignedRequest: ...
label to the appropriate Type: ...
labelRequest: ...
or Type: ...
label existsWontfix: ...
label existsmain
Pull Request acceptance) add a warning about needing a PRUser Acceptance Testing
Needs Triage
labelHelp Wanted
label and a warning, if no user assignedNeeds Release Assignment
label and a warning, if no milestone assignedRequest: ...
label to the appropriate Type: ...
labelRequest: ...
or Type: ...
label existsWontfix: ...
label existsstaging
Pull Request acceptance) add a warning about needing a PRDone
Needs Triage
labelHelp Wanted
label and a warning, if no user assignedNeeds Release Assignment
label and a warning, if no milestone assignedRequest: ...
label to the appropriate Type: ...
labelRequest: ...
or Type: ...
label existsWontfix: ...
label existsproduction
Pull Request acceptance) add a warning about needing a PRParking Lot
Needs Triage
labelHelp Wanted
labelNo response
None
No response
Add standard contributing guidelines that dictate branch structure, squash merging, pull request requirements, testing requirements, etc.
Add a README note to check the directions for testing as-appropriate for the project.
Also add a generic CONTRIBUTORS file with me as the only contributor.
Add an .editorconfig
file that defaults for common file types.
Other
New Documentation
Add a style guide for palette, typography, logo, etc for Chiberia Projects.
Adding a template SCSS file may be helpful, as well.
No response
Moderate (Similar to most work being done today)
No response
Issues:
Update the various markdown documentation files that refer to these for links.
Vale, CSpell, etc are not currently configured well within the workspace and throw a ton of spelling and prose errors on code.
First, it should be attempted to have code be ignored in these editors (which may require some research for code types that are not natively supported - like Makefiles). Second, those files should be ignored, if necessary (but this isn't a great solution, since future projects may add code files that have this problem).
It'd definitely be better to show an example of how to support a code file than ignore it and miss out on comment linting.
No response
None
No response
Add these files to the repository, as well as instructions in the README file as to which one to select:
License File | Commercial Use | Distribution | Modification | Patent Use | Private Use |
---|---|---|---|---|---|
LICENSE.apache | Yes | Yes | Yes | Yes | Yes |
LICENSE.gplv3 | Yes | Yes | Yes | Yes | Yes |
LICENSE.mit | Yes | Yes | Yes | - | Yes |
LICENSE.proprietary | - | - | - | - | - |
LICENSE.unlicense | Yes | Yes | Yes | - | Yes |
As described by:
Permission | Description |
---|---|
Commercial Use | The licensed material and derivatives may be used for commercial purposes |
Distribution | The licensed material may be distributed |
Modification | The licensed material may be modified |
Patent Use | This license provides an express grant of patent rights from contributors |
Private Use | The licensed material may be used and modified in private |
License File | Disclose Source | License/Copyright Notice | Same License | State Changes |
---|---|---|---|---|
LICENSE.apache | - | Yes | - | Yes |
LICENSE.gplv3 | Yes | Yes | Yes | Yes |
LICENSE.mit | - | Yes | - | - |
LICENSE.proprietary | - | - | - | - |
LICENSE.unlicense | - | - | - | - |
As described by:
Permission | Description |
---|---|
Disclose Source | Source code must be made available when the licensed material is distributed |
License/Copyright Notice | A copy of the license and copyright notice must be included with the licensed material |
Same License | Modifications must be released under the same license when distributing the licensed material; in some cases a similar or related license may be used |
State Changes | Changes made to the licensed material must be documented |
License File | Limited Liability | No Trademark | No Warranty |
---|---|---|---|
LICENSE.apache | Yes | Yes | Yes |
LICENSE.gplv3 | Yes | - | Yes |
LICENSE.mit | Yes | - | Yes |
LICENSE.proprietary | - | - | - |
LICENSE.unlicense | Yes | - | Yes |
As described by:
Permission | Description |
---|---|
Limited Liability | This license includes a limitation of liability |
No Trademark | This license explicitly states that it does NOT grant trademark rights, even though licenses without such a statement probably do not grant any implicit trademark rights |
No Warranty | This license explicitly states that it does NOT provide any warranty |
Reference: https://choosealicense.com/
For some reason, TODO entries in text files, etc aren't counted in the VSCode extension used. Some files will highlight code, but not show in the checklist when scanning the Workspace. Other files (like .txt
) won't count it at all, which I believe is a feature to avoid counting documentation. See if there's a way to include this for files like the Vale and CSpell dictionaries.
No response
None
No response
Add a standard COC for all projects.
Add these folders and ensure this table is in the README to instruct users how to use them:
Folder | Purpose |
---|---|
.build | All scripts and resources tied to deployment (e.g., Docker Compose) |
.config | All configuration files for local development |
.devcontainer | DevContainer configurations (GitHub Docs, VSCode Docs, Reference) |
.github | All configuration files for GitHub |
.vscode | All configuration files for Visual Studio Code (note, only certain files should be committed, such as recommended extensions.json and launch.json ) |
docs | All project documentation |
src | All project source code |
tests | All test source code |
Require a period at the end of every sentence in comments/etc if possible. This likely will require a custom Style in Vale.
No response
None
No response
Add a workflow that can be triggered to create the default issues instructing steps to follow after the template has been copied. Add instructions to the README to run this workflow immediately after copying the template.
This should replace the checklist in the README.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.