GithubHelp home page GithubHelp logo

flint's Issues

github_fetcher arguments error

kruug@kruugdeb:~ $ go get github.com/pengwynn/flint

github.com/pengwynn/flint/flint

dev/go/src/github.com/pengwynn/flint/flint/github_fetcher.go:27: too many arguments in call to g.Client.Repositories
dev/go/src/github.com/pengwynn/flint/flint/github_fetcher.go:27: not enough arguments in call to g.Client.Repositories(url).One
kruug@kruugdeb:~ $ flint --version
-bash: flint: command not found

Not sure how to fix.

go module support

This tool is installable via brew. As go 1.17 comes out unless this project adds go module support it will not be installable and it may have to be removed from brew.

Would it be possible to migrate to using go modules

See Homebrew/homebrew-core#47627

Installation instructions fail

~ > go get github.com/pengwynn/flint
package github.com/pengwynn/flint: cannot download, $GOPATH not set. For more details see: go help gopath
~ > echo $GOPATH
/Users/eno/gocode

CHANGELOG

ChangeLogs are a great way to communicate specific changes between versions without relying on having to read a commit log.

Maybe flint could check for the presence of a CHANGELOG file? Maybe fancier and more language specific would be checking the gemspec or package.json for a recent version, and making sure there's an entry in the ChangeLog for it?

Possible additional info/templates etc.

Not sure if this is the best place/way to add a suggestion, but I couldn't find any other obvious way. Feel free to point me at a discussion list or email address if this is the wrong place.

A long time ago I had an attempt at putting together advice and templates on documenting open source projects which is here;

http://minkirri.apana.org.au/~abo/projects/prjdocs/ProjectDocs.txt
http://minkirri.apana.org.au/~abo/projects/prjdocs/templates/

The templates are all in reStructuredText, not markdown, which has the advantage of being more readable as plaintext but would be easy to convert.

There are some bits I didn't quite polish up that well, and I think there are some bits missing (like "Design Decisions" documenting differences/similarities to other projects, libraries considered, design approaches taken/rejected etc).

I don't know if you'd find any of this useful, but feel free to copy/ignore/whatever.

Ability to exclude directories

Tried out flint on my personal site for giggles, and it's matching files names in /assets and _posts folders. Would be awesome to be able to pass something like --exclude _posts --exclude=assets or similar.

Code of conduct

Not to be snarky, but:

$ flint --github pengwynn/flint
[WARNING] CODE_OF_CONDUCT not found
[INFO] Let people know what to expect when they participate in the project

Make checks DRY

I was browsing through Flint's source code and thought that there must be a better DRY-er way of implementing the checks. I thought I'd learn some Go and try DRY up the flint/flint.go file. Here is what I came up with:

func (l *Lint) Check(file, message, fixme string) {
    if !l.findFile(file) {
        l.Errors = append(l.Errors, &lintError{2, message})
        l.Errors = append(l.Errors, &lintError{0, fixme})
    }
}

func (l *Lint) CheckReadme() {
    l.Check(
        "README*",
        "[ERROR] README not found",
        "[FIXME] Every project begins with a README. http://bit.ly/1dqUYQF")
}

// etc.
=== RUN TestCheckReadme
--- PASS: TestCheckReadme (0.00 seconds)

I thought I'd ask you whether you'd merge a Pull Request before I actually made one. I think this is a good idea because I've ported Flint to Ruby some time ago (making Friction) and this is more or less the way I implemented it there.

Apologies for my Go code, I literally got started with it 3 hours ago. I've ran go fmt on it so it should be alright style-wise.

getopt error

$ flint
getopt: missing optstring argument
Try `getopt --help' for more information.
flint [OPTION...]
Checks a project for common sources of contributor friction
-r, --readme                                                  Check for existence of README
-c, --contributing                                            Check for contributing guidelines
-l, --license                                                 Check for a project license
-b, --bootstrap                                               Check for a bootstrap script
-t, --test                                                    Check for a test script
--no-readme                                                   Skip README check
--no-contributing                                             Skip contributing guide check
--no-license                                                  Skip license check
--no-bootstrap                                                Skip bootstrap script check
--no-test                                                     Skip test script check

Go vendoring?

flint-checker was just added as a new formula in Homebrew in Homebrew/homebrew-core#12701. The formula has six go_resource blocks.

Would you be willing to start using the Go vendor directory or one of the other Go vendor systems so that we can remove these resource blocks?

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.