Checkout my two open-source projects
gh/jooaodanieel/GCommit
#pair-programming #mob-programming
gh/jooaodanieel/dk-assist
#dev-tools #env-vars #config-files
GCommit is a git-plugin that eases pair-programming commits
Home Page: https://jooaodanieel.github.io/GCommit/
License: MIT License
Checkout my two open-source projects
gh/jooaodanieel/GCommit
#pair-programming #mob-programming
gh/jooaodanieel/dk-assist
#dev-tools #env-vars #config-files
GCommit is available at the AUR for an easier installation for arch-linux-based OS.
But, the process of releasing is done manually.
In this issue, we're asking for contributions to
automate this process via GitHub Actions
note: don't forget to update the README accordingly ๐
Currently nvim is set as default but if not found, script tries to commit anyways. Instead it should inform user about the problem.
git gcommit
is not a git commit
wrapper, but it would be nice to have it as a full wrapper that only adds the team-signature behavior.
Suggestion: use a new flag that accept a list to differentiate from default git commit
behavior, for example, add a git commit --team [ID1 ...]
Add a command that shows a help message about how to use GCommit
.gitteam
has a well-defined structure, but the program does not check it.
Current behavior is that if the file does not follow the structure, it results in a FileNotFoundError
.
It would be great fix some pep8 problems on the code.
GitHub defines a Co-authored-by
that would be nice for GCommit to support that.
Further information about GH's co-authors here
It would be nice to have a git gcommit init
command to scaffold an initial gcommit.conf.json
with
{
"team": [
{
"name": "",
"email": "",
"tag": ""
}
],
"format": "GCommit/GitHub" // default, also accepts "GCommit/GitLab"
}
note: don't forget to update the README accordingly ๐
The project could really use a set of automated tests.
This issue requests the installation of a tool for writting tests and some test code
There's this reference that can be useful to help the creation
The code is poorly documented and this could be enhanced.
Add support for team declaration on .gitteam
file, so as to avoid naming every member initials in every git gcommit
call.
Examples:
# at .gitteam file
JD="Joรฃo Daniel <[email protected]>"
JOD="John Doe <[email protected]>"
JAD="Jane Doe <[email protected]>"
TEAM: JD JOD JAD
OTHER: JOD JAD
Then, on your shell:
git gcommit TEAM
Which should equivalent to:
git gcommit JD JOD JAD
Furthermore, it should also create the possibility to define multiple team combinations directly at .gitteam
file.
As another suggestion, it could be implemented as a flag, such as git gcommit -t OTHER
that is equivalent to git gcommit --team OTHER
and git gcommit JOD JAD
.
GCommit would beneficiate from adopting a well-known format for its config file, such as JSON or YAML.
This would also create the opportunity to expand its configuration.
Sometimes you need to add the entire team to a commit message (mob programming).
GCommit would benefit from a --all
flag that does the job. A bonus would be -a
alias.
Installation instructions for windows are missing.
Proposal: Use setup.py
script to make cross platform installation easier.
Bonus: Easier versioning and distribution.
It would be great to improve the space used by the contributors table by spreading it across each line.
My guess is that making a 5 column-wide is enough.
note: not sure if markdown will be the right tool, but always remember that HTML is also accepted
README should have instructions about:
When I try to execute using Python version 2.7, shows this error:
Traceback (most recent call last): File "/usr/local/bin/git-gcommit", line 100, in <module> main() File "/usr/local/bin/git-gcommit", line 95, in main except FileNotFoundError: NameError: global name 'FileNotFoundError' is not defined
It would be nice to use pre-defined named teams that translate to a set of people.
For exemple, with this gcommit.conf.json
{
"team": [
{
"name": "Alfred Billard",
"email": "[email protected]",
"tag": "AB"
},
{
"name": "Chad Delligan",
"email": "[email protected]",
"tag": "CD"
}
],
"format": "GCommit/GitHub",
+ "namedTeams": {
+ "frontend": [ "AB", "CD" ]
+ }
}
when running the following
git gcommit frontend
would work as
git gcommit AB CD
generating
Co-authored-by: Alfred Billard <[email protected]>
Co-authored-by: Chad Delligan <[email protected]>
note: don't forget to update README accodingly ๐
A easier way to remove someone from .gitteam
would be with a git gcommit --remove ID
command.
The CONTRIBUTORS section in the README.md file could have its layout improved to exibit something like a table containing on each cell the picture of the contributor and his/her name linking to his/her page.
A easier way to add someone to .gitteam
would be with a git gcommit --add NAME EMAIL ID
command.
GCommit works based on a config file placed at the same folder where .git
is.
Although, sometimes we're committing from a deeper directory.
In this issue, we're asking for contributions to
search the config file in the current directory and recursively in the parent
note: don't forget to update the README accordingly ๐
Make it work in Windows pls
GCommit has automatic releases with a GitHub Actions workflow.
But currently it only supports Linux and Mac releases -- see the workflow definition
In this issue, we're asking for contributions to
create an automatic release of GCommit for Windows via GitHub Actions
note: don't forget to update the README accordingly ๐
GCommit creates a pre-written commit message for you with the signatures.
When there is no change added to commit, GCommit still opens the commit file. This behavior shouldn't happen.
In this issue, we're asking for contributions to
prevent GCommit from creating a commit message when there is no change added to commit
note: don't forget to update the README accordingly ๐
Sometimes you need to add almost the entire team to a commit message (mob programming), in exception of one or two.
GCommit would benefit from a --except
flag that receives a list of identifiers that will not be in the commit message. A bonus would be -e
alias.
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.