Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Achievement ideas #11

Open
4 of 77 tasks
Notgnoshi opened this issue Mar 26, 2024 · 1 comment
Open
4 of 77 tasks

Achievement ideas #11

Notgnoshi opened this issue Mar 26, 2024 · 1 comment

Comments

@Notgnoshi
Copy link
Owner

Notgnoshi commented Mar 26, 2024

  • Obviously swearing in a commit message should be an achievement
  • Detect censored swears
  • Being too polite - "please and thank you"
  • Sentiment analysis; both extremes
  • Embed a code snippet
  • Link to stack overflow
  • fixup,fixme,wip,dropme,squash
  • Contains binary files
  • Contains compressed binary files
  • Contains ELF, PE, COFF, or DLL files
  • Contains spreadsheets
  • "bad" file permissions
  • Revert commit
  • Revert a commit, and then in the immediately following commit revert it
  • Revert a revert commit (and chained variants)
  • Time travel
  • Commit someone else's authored commit
  • Detect foreign languages?
  • Polyglot - detect multiple languages added all in one commit
  • Add a .gitlab-ci.yml file, or a github workflow
  • whitespace only changes
  • Mention "singleton"
  • SVN import - "welcome to 2003"
  • TODO
  • Mention another user
  • Windows line endings on a #!shebang line
  • Large commit message
  • One word commit
  • Longest commit message
  • Shortest commit message
  • Shortest subject line
  • Longest subject line
  • Multi-line commit message with each line having exactly the same length
  • Empty commit message
  • Empty non-merge commit diff
  • Large delta
  • Small delta
  • large negative delta ratio
  • Large delta with ratio close to 1
  • Mixed indentation in commit message
  • Mixed indentation in file (other than spaces following tabs, which is common)
  • Emoji in commit message
  • python2 in #!shebang
  • ROA_FIX
  • Refer to an XKCD comic
  • Non-README initial commit - "this time will be different"
  • Initial commit with placeholder README
  • Empty initial commit
  • Add a second root commit
  • Merge conflict markers
  • cthulu merge
  • octopus merge
  • include a commit hash
  • include a commit hash that does not exist
  • Common misspelling - only grant if ratio is high enough
  • Identify ASCII art; ratio of special chars to alpha?
  • Submodule hash that does not exist (only grant if have access to submodule)
  • Moved a submodule
  • Changed directory into submodule
  • Add subtree
  • Detect movie quotes in commit messages?
  • "omni" - you keep using this word. I do not think you know what it means
  • yolo
  • "I don't understand"
  • "spaghetti" or "pasta"
  • "copy paste"
  • NLP coherence measures
  • "accidentally"
  • Detect appeal to authority? "according to $proper_noun"
  • Use regex in commit message - "now you have two problems"
  • Spaces in filenames
  • Unicode in filenames
  • non-unicode character in commit message
  • Commit after five on a friday
  • Use the same commit message multiple times
  • Grant achievement randomly, with very low probability
  • Quine - commit (message or tree) contains its own hash
@Notgnoshi
Copy link
Owner Author

Many of these ideas require, or would be best done with a rudimentary NLP library. But NLP in Rust appears to be fairly immature (I've been spoiled by spaCy).

Notgnoshi added a commit that referenced this issue Oct 20, 2024
Includes a few internal cleanups. This PR represents the most bare
minimal working "product".

Before it's usable, the following need to be done:

1. Allow excluding commits (#47)
2. Allow customizing which rules are run (#53)
3. A "useful" output format (#40)
4. Remember what commits have already been processed (#39)
   so that repeated `herostratus fetch-all && herostratus check-all`
   invocations only give new achievements
5. More achievements! (#11)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
No open projects
Status: Backlog
Development

No branches or pull requests

1 participant