Giter Site home page Giter Site logo

ryanjwessel / pear-cli Goto Github PK

View Code? Open in Web Editor NEW
3.0 3.0 1.0 9.01 MB

๐Ÿ A frictionless tool for tracking pair programming activity on teams

JavaScript 11.80% TypeScript 72.50% Shell 15.70%
cli mob-programming pair pair-programming pairing pairs

pear-cli's People

Contributors

ryanjwessel avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar

Forkers

andersonvom

pear-cli's Issues

Don't include "Co-authors: " tag when rebasing

If you have an active Pear session and you rebase a branch, it will append that co-author to every commit in the branch. This is not desirable, as it should maintain the existing commit messages as-is.

If anyone wants to take a stab at this one, I'd be happy to pair on it with you ๐Ÿ

Add contributing guide

Right now, there is the .pear directory, and the src directory. The .pear directory is generated as a result of running commands from the Pear CLI, so changes should only be made in the src directory.

This is just one example of this process being unclear. Now that the CLI is ready for use on teams, this project should start to include a more streamlined contribution process.

  • Lint and format changes pre-commit
  • Automatically update the .pear directory based on changes from the src directory?

Generate pairing matrix with `pear matrix`

It would be great if a Markdown table could be generated from commit history that includes Co-authors: ... in the commit body.

It could support arguments for different lengths of time.

pear matrix --since "3 months ago"

And it could support the same arguments that git log accepts so there isn't too much confusion there.

Derive contributors from existing commit history

Instead of (or, in addition to) prompting the user running npx pear init to manually enter the contributor names they would like to track, we could leverage the commit history and have them select from existing contributors.

npx pear init

# Prompt them to select from contributor names from the last _n_ months of commits

# Then, continue with existing prompt that asks for manual entering

Tagged releases

I have been running yarn publish --access=public locally to publish to the npm registry. It would be great if tags could be created from the main branch, and GitHub Actions automatically published those changes.

Filter self out of `pear start` prompt

Now, it is not clear that one should not select themselves when running npx pear start. Instead of presenting all contributors for the project, we could check their current name, and filter out that option from the list.

Credit to @andersonvom for the suggestion!

Coauthors are not appended properly when using `git commit -m ""`

It seems like coauthors are prepended to the commit message when the author uses git commit -m "message", rather than using the vim editor by only entering git commit.

# with git commit -m
Co-authors: Name1, Name2
Intended commit title

# with git commit
Intended commit title

Co-authors: Name1, Name2

Allow aborting a commit message without committing "Co-authors" tag

Current Behavior

Currently, we use prepare-commit-msg to include "Co-authors: {...coauthors}` in the commit body. However, if the author exits the commit editor, because there is a non-empty string included in the body, it counts as an actual commit message in your history.

Desired Behavior

If we included a commit-msg hook that checked if the body contains only empty lines and the Co-authors: tag, then we know the commit is incomplete.

Credit to @andersonvom for discovering this issue!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.