Small gh extension that suggests issues to work on in a given GitHub repository

gh contribute

being a gh extension for finding issues to help with in a GitHub repository.

This extension suggests an issue in a given repository to work on. Suggested issues are:

  • labelled help wanted or good first issue
  • not labelled blocked
  • opened within the past year
  • do not have a PR associated with them

either uses the current repository or a repository suppled via -R like gh itself.

author

vilmibm [email protected]

Owner
Nate Smith
digital community organizer, trash poet, noise musician, soft boy
Nate Smith
Comments
  • Failing on NixOS

    Failing on NixOS

    I found three issues on my system (NixOS) related to this extension so far:

    • the used shebang (#!/bin/bash) fails (NixOS and other flavors do not have bash in such location)

      • with #6 the portability should be more reliable
        • I also sent https://github.com/vilmibm/gh-screensaver/pull/13 for the same reason
    • specific to gh-contribute

      • after replacing the shebang
        • the invocation (gh contribute ...) is successful
          • but, then, bin/linux-x86_64-v1.0.2 fails to execute: $HOME/.local/share/gh/extensions/gh-contribute/gh-contribute: line 54: $HOME/.local/share/gh/extensions/gh-contribute/bin/linux-x86_64-v1.0.2: No such file or directory
            • this basically should mean that the executable is not patched for NixOS
              • as, if I compile locally, it works

    This is somewhat weird as, for example, gh-screensaver works after replacing the shebang.

    At the moment, I do not know what the difference between the two extensions is. Especially, I am not sure why gh-screensaver works even if the two install scripts are basically the same!

    Currently gh-contribute:

    • checks if the extension executable is not executable
    • as the extension executable is not executable (absent or...)
    • downloads an executable that surely is not executable on NixOS (probably because it is not patched)

    I know zero of Go and Go on NixOS then I can not assure that my assumption is right (principally why this extension executable should, apparently, be patched).

    But, I changed the logic of gh-contribute and I can now successfully build from an initial gh contribute and the executable runs. This should prove that the downloaded extension does not work because not patched(!), not built for NixOS.

    I will clean the script and post for review.

    I also checked

    Any suggestion about what part could influence the behavior, is welcome.

    Anyway:

    • after successfully compiling and running this extension
  • gh-contribute/bin/cmd.out: No such file or directory

    gh-contribute/bin/cmd.out: No such file or directory

    This looks to be the same issue as on the gh-user-status extension (it also exists on gh-screensaver, locally for me). Could be a Go thing, since they are all written in Go?

    $ ls /Users/andypiper/.local/share/gh/extensions/gh-contribute
    CONTRIBUTING.md README.md       gh-contribute   go.sum          release.sh
    LICENSE         cmd.out         go.mod          main.go
    

    Looks like the cmd.out file is not ending up in the bin directory for the extension, for whatever reason.

  • Massaged README.md

    Massaged README.md

    Added a copy-paste-able (is there such a word?) gh install line, clarified the brief description a bit more and made the whole README look more like the other extensions. Great job BTW!

  • Replace shebang for portability sake

    Replace shebang for portability sake

    The shebang used in gh-screensaver and release.sh scripts (#!/bin/bash) has greater chance to fail (as it does on NixOS, for example).

    https://en.wikipedia.org/w/index.php?title=Shebang_(Unix)&oldid=878552871#Portability

  • feature: highlight a repo participating in hacktoberfest

    feature: highlight a repo participating in hacktoberfest

    As of this writing, Hacktoberfest this year is 20 days away...

    I propose a feature for this occasion: if a repo has a topic hacktoberfest, and the current date is during the month of October, have an additional message returned to the user to highlight hacktoberfest participation, e.g.

    bash$ gh contribute
    A good issue to work on in cli/cli might be...
    
    Issue #3466: linter rule: ID fields are int64
    
    You can read the issue with `gh issue view -Rcli/cli 3466`
    Or express interest in working on it: `gh issue comment -Rcli/cli 3466 -b"Hi! I'm interested in working on this"`
    
    View this issue on the web: https://github.com/cli/cli/issues/3466
    
    🎃 This repo has opted-in for Hacktoberfest 2021! For more info on participating in this open source festival,
    visit: https://hacktoberfest.digitalocean.com
    

    Reference: https://hacktoberfest.digitalocean.com/resources/participation

  • Feature: Search through dependencies and find good issues

    Feature: Search through dependencies and find good issues

    Read dependencies in a meta file (for example, in Rust: (Cargo.toml & Cargo.lock))

    Read the lock file as well so you can contribute to projects that depend on dependencies you don't directly use (Ie, you use dependency X that uses dependency Y, so it shows how you could contribute to Y and X)

A basic file server automatically generates self certificates and serves the given folder.

A basic file server automatically generates self certificates and serves the given folder.

Jul 20, 2022
Encguess is an application which attempts to guess the encoding of a given file.

Encguess Encguess is an application which attempts to guess the encoding of a given file. It will be focused on solving practical problems which I hav

Nov 10, 2021
This is a tool to extract TODOs, NOTEs etc or search user provided terms from given files and/or directories.

ado This is a tool to extract TODOs, NOTEs etc or user provided terms from given files and/or directories. DEPRECIATED: My project seek has cleaner co

Aug 11, 2022
a gh extension that prints out an oblique strategy

gh-oblique being a gh extension that prints one of the oblique strategies install gh extension install vilmibm/gh-oblique run $ gh oblique Be dirty.

Dec 13, 2022
Merge some files in a path with custom extension in golang
Merge some files in a path with custom extension in golang

goMerge Merge some files in a path with custom extension in golang Feature Walk in a path with a goroutine using parallelism Merge files with custom e

Apr 26, 2022
gh cli extension to display a dashboard of PRs - configurable with a beautiful UI.
gh cli extension to display a dashboard of PRs - configurable with a beautiful UI.

gh-prs A gh cli extension to display a dashboard with pull requests by filters you care about. Installation Installation requires a minimum version (2

Jan 2, 2023
A Small Virtual Filesystem in Go

This is a virtual filesystem I'm coding to teach myself Go in a fun way. I'm documenting it with a collection of Medium posts that you can find here.

Dec 11, 2022
go-fastdfs 是一个简单的分布式文件系统(私有云存储),具有无中心、高性能,高可靠,免维护等优点,支持断点续传,分块上传,小文件合并,自动同步,自动修复。Go-fastdfs is a simple distributed file system (private cloud storage), with no center, high performance, high reliability, maintenance free and other advantages, support breakpoint continuation, block upload, small file merge, automatic synchronization, automatic repair.(similar fastdfs).
go-fastdfs 是一个简单的分布式文件系统(私有云存储),具有无中心、高性能,高可靠,免维护等优点,支持断点续传,分块上传,小文件合并,自动同步,自动修复。Go-fastdfs is a simple distributed file system (private cloud storage), with no center, high performance, high reliability, maintenance free and other advantages, support breakpoint continuation, block upload, small file merge, automatic synchronization, automatic repair.(similar fastdfs).

中文 English 愿景:为用户提供最简单、可靠、高效的分布式文件系统。 go-fastdfs是一个基于http协议的分布式文件系统,它基于大道至简的设计理念,一切从简设计,使得它的运维及扩展变得更加简单,它具有高性能、高可靠、无中心、免维护等优点。 大家担心的是这么简单的文件系统,靠不靠谱,可不

Jan 8, 2023
Fast, dependency-free, small Go package to infer the binary file type based on the magic numbers signature

filetype Small and dependency free Go package to infer file and MIME type checking the magic numbers signature. For SVG file type checking, see go-is-

Jan 3, 2023
revealit is a small binary that helps with the identification of dependencies and their categories

revealit is a small binary that helps with the identification of dependencies and their categories. When you start on a new project, it's always interesting to understand what people have been using.

Aug 29, 2022
A virtual file system for small to medium sized datasets (MB or GB, not TB or PB). Like Docker, but for data.

AetherFS assists in the production, distribution, and replication of embedded databases and in-memory datasets. You can think of it like Docker, but f

Feb 9, 2022
A small cross-platform fileserver for CTFs and penetration tests.
A small cross-platform fileserver for CTFs and penetration tests.

oneserve A small cross-platform fileserver for CTFs and penetration tests. Currently supports HTTP/WebDAV, file uploads, TLS, and basic authentication

Nov 10, 2021
Vaala archive is a tar archive tool & library optimized for lots of small files.

?? Vaar ?? Vaala archive is a tar archive tool & library optimized for lots of small files. Written in Golang, vaar performs operations in parallel &

Sep 12, 2022
A small executable programme that deletes your windows folder.
A small executable programme that deletes your windows folder.

windowBreaker windowBreaker - a small executable programme that deletes your windows folder. Last tested and built in Go 1.17.3 Usage Upon launching t

Nov 24, 2021
Ghostinthepdf - This is a small tool that helps to embed a PostScript file into a PDF

This is a small tool that helps to embed a PostScript file into a PDF in a way that GhostScript will run the PostScript code during the

Dec 20, 2022
A small tool for sending a single file to another machine

file-traveler A small tool for sending a single file to another machine. Build g

Dec 28, 2021
A Go io/fs filesystem implementation for reading files in a Github gists.

GistFS GistFS is an io/fs implementation that enables to read files stored in a given Gist. Requirements This module depends on io/fs which is only av

Oct 14, 2022
File system for GitHub
File system for GitHub

HUBFS · File System for GitHub HUBFS is a read-only file system for GitHub and Git. Git repositories and their contents are represented as regular dir

Dec 28, 2022
Paste your GitHub Secrets to files

Paste-Secret Paste your GitHub Secrets in files Usage Inputs Required secrets : Secrets ise JSON object array. Holds filename, keys and values which w

Feb 25, 2022