pengwynn / flint Goto Github PK
View Code? Open in Web Editor NEWCheck your project for common sources of contributor friction.
License: MIT License
Check your project for common sources of contributor friction.
License: MIT License
kruug@kruugdeb:~ $ go get github.com/pengwynn/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.
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
How do I use this thing? :)
~ > 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
GNU projects often use the file name COPYING
instead of LICENSE
. flint
should IMHO recognize it and treat it as sufficient as license file.
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?
Would you be open to making flint case insensitive? https://github.com/pengwynn/flint/blame/master/flint/flint.go#L18-L22
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.
Perhaps using https://github.com/fatih/color
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.
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
I've created an Atom package that integrates with the Linter package to show issues. Though you might like to check it out. https://atom.io/packages/linter-flint
I know it's not universal, but it's an excellent sign of a healthy, welcoming project.
As an example: http://hapijs.com/help#Code%20of%20Conduct
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.
$ 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
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?
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.