Git Product home page Git Product logo

commonality / readme-inspector Goto Github PK

View Code? Open in Web Editor NEW
8.0 4.0 9.0 4.68 MB

䷂ Verify the existence—and assess the quality—of README files on GitHub (Enterprise) repositories.

Home Page: https://commonality.github.io/readme-inspector/

License: MIT License

JavaScript 100.00%
commonality compliance github github-enterprise inner-source-readiness innersource open-source-readiness opensource readme readme-quality

readme-inspector's People

Contributors

greenkeeper[bot] avatar gregswindle avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

readme-inspector's Issues

feat(bitbucket): detect and score READMEs on Bitbucket

1. User story summary

As a repository owner or maintainer,
I want to ensure my product has a well-written README on my Bitbucket repository root
In order to introduce potential consumers to my product.

2. Acceptance criteria

When given the URL to a repository,

  • 1. The presence of a README is declared.
  • 2. The absence of README is declared.
  • 3. READMEs are scored according to the readme-score-api (as used by the CoCoPods registry.)

3. Notes

See: what is the v2 API to get file content?. (2016). Atlassian Community. Retrieved 21 April 2018, from https://community.atlassian.com/t5/Answers-Developer-Questions/what-is-the-v2-API-to-get-file-content/qaq-p/574065

3.2. Node.js API clients

These modules might help.

  1. hosted-git-info
  2. bitbucketjs Too bloated for too little.
  3. got🌟

3.3. README info

This endpoints is used to retrieve the contents of a single file, or the contents of a directory at a specified revision.

Raw file contents

When path points to a file, this endpoint returns the raw contents. The response's Content-Type is derived from the filename extension (not from the contents). The file contents are not processed and no character encoding/recoding is performed and as a result no character encoding is included as part of the Content-Type.

REST - Atlassian Documentation. (2018). Developer.atlassian.com. Retrieved 21 April 2018, from https://developer.atlassian.com/bitbucket/api/2/reference/resource/repositories/%7Busername%7D/%7Brepo_slug%7D/src/%7Bnode%7D/%7Bpath%7D

feat(adr): add architecture decision record support

1. User story summary

As a contributor,
I want to formally propose and decide on architecturally significant choices
In order to facilitate orderly change.

2. Acceptance criteria

  • The phodal/adr link-external library--and its npm-scripts--are executable with this module.

An in-range update of eslint-plugin-prettier is breaking the build 🚨

The devDependency eslint-plugin-prettier was updated from 2.6.2 to 2.7.0.

🚨 View failing branch.

This version is covered by your current version range and after updating it in your project the build failed.

eslint-plugin-prettier is a devDependency of this project. It might not break your production code or affect downstream projects, but probably breaks your build or test tools, which may prevent deploying or publishing.

Status Details
  • continuous-integration/appveyor/branch: AppVeyor build failed (Details).
  • continuous-integration/travis-ci/push: The Travis CI build could not complete due to an error (Details).

Commits

The new version differs by 3 commits.

  • 869f56d Build: update package.json and changelog for v2.7.0
  • 38537ba Update: Support prettierignore and custom processors (#111)
  • 047dc8f Build: switch to release script package

See the full diff

FAQ and help

There is a collection of frequently asked questions. If those don’t help, you can always ask the humans behind Greenkeeper.


Your Greenkeeper Bot 🌴

feat(readme): detect and score GitHub (Enterprise) READMEs

1. User story summary

As a repository owner or maintainer,
I want to ensure my product has a well-written README
In order to introduce potential consumers to my product.

2. Acceptance criteria

When given the URL to a repository,

  • 1. The presence of a README is declared.
  • 2. The absence of README is declared.
  • 3. READMEs are scored according to the readme-score-api (as used by the CoCoPods registry).
  • 4. Configuration variables are separated from source code with environment (env) variables.

chore(release): publish v1.0.1 to NPM and GitHub

1. User story summary

As a consumer,
I want to inspect and assess READMEs without unnecessary configuration
In order to simplify usage.

2. Acceptance criteria

  • 1. The CHANGELOG.md reflects fixes.
  • 2. zip and tar.gz bundles are available in GitHub Releases.
  • 3. v1.0.1 is the latest dist-tag available from NPM.
  • 4. The README and CONTRIBUTING docs reflect all changes.
  • 5. The product's semantic version reflects v1.0.1 in the manifest and all documents.

defect(readme-score): scoreData is always a NullObject (score === 0)

1. User story summary

As a maintainer,
I want to integrate Travis-CI with the commonality workspace channel #readme-inspector,
In order to receive build and PR notifications.

2. Acceptance criteria

  • 1. The Travis CI slack app is installed in the commonality workspace.
  • 2. The [commonality/readme-inspector] repository's .travis.yml is configured to send notifications to the #readme-inspector channel.
  • 3. The integration credentials are encrypted with the Travis command line client.
  • 4. The app is named "Travis CI" and it uses the default Travis CI icon travis-ci.
  • 5. The Travis CI Slack configuration URL is published in this repository.
  • 6. The Travis CI slack app receives notifications from Travis CI.
  • 7. ReadmeScore.for initializes the ?url= search parameter correctly.

defect(config): move .env* files to the product's root directory

1. User story summary

As a consumer,
I need to initialize configuration variables
In order to maintain a decoupled, 12-factor app.

2. Acceptance criteria

When readme-inspector loads:

  • 1. All .env variables are in .env.schema are defined.

  • 2. All values defined in .env.defaults initialize process.env.CONSTANT_NAME.

  • 3. All key/value pairs in .env override all other files, and are available via process.env as well as envConfig, where

    const dotenvExtended = require('dotenv-extended')
    const envConfig = dotenvExtended.load()

🐞 3. Steps to reproduce (for defects only)

  1. Install v2.0.0 of readme-inspector, e.g.,

    $ npm i -g readme-inspector
  2. Launch the Node.js REPL, import/require readme-inspector, and verify that API_ENDPOINT_README_SCORE has been initialized:

    $ node
    > const inspector = require('readme-inspector')
    > process.env.API_ENDPOINT_README_SCORE
    undefined
    >
  3. You will see the value

    undefined

    instead of the expected value

    'http://readme-score-api.herokuapp.com/score.json?url=&human_breakdown=false&force=false'

🐞 4. Your environment (for defects only)

⌦ Include as many relevant details about the environment
⌦ in which the defect occurred.

Environment info Value
readme-inspector version v2.0.0
Node.js version
(node --version)
v8.9.1
NPM version
(npm --version)
5.8.0
Yarn version
(yarn --version)
1.5.1

Operating System and version (desktop or mobile)

Hardware:

    Hardware Overview:

      Model Name: MacBook Pro
      Model Identifier: MacBookPro11,4
      Processor Name: Intel Core i7
      Processor Speed: 2.8 GHz
      Number of Processors: 1
      Total Number of Cores: 4
      L2 Cache (per Core): 256 KB
      L3 Cache: 6 MB
      Memory: 16 GB
      Boot ROM Version: MBP114.0182.B00
      SMC Version (system): 2.29f24

Software:

    System Software Overview:

      System Version: macOS 10.12.6 (16G1314)
      Kernel Version: Darwin 16.7.0
      Time since boot: 7 days 22:39

defect(config): use dotenv-extended instead of dotenv

1. User story: summary of expected behavior

As a consumer,
I want an .env.schema to declare required variables initialized with default values (where possible)
In order to avoid errors.

2. Acceptance criteria

  • 1. A .env.schema exists with env variable declarations.
  • 2. Optional vars load by default from env.defaults.
  • 3. Required vars do not unless they're part of the session.

ci(pkg): enable Greenkeeper

🚨 You need to enable Continuous Integration on all branches of this repository. 🚨

To enable Greenkeeper, you need to make sure that a commit status is reported on all branches. This is required by Greenkeeper because it uses your CI build statuses to figure out when to notify you about breaking changes.

Since we didn’t receive a CI status on the greenkeeper/initial branch, it’s possible that you don’t have CI set up yet. We recommend using Travis CI, but Greenkeeper will work with every other CI service as well.

If you have already set up a CI for this repository, you might need to check how it’s configured. Make sure it is set to run on all new branches. If you don’t want it to run on absolutely every branch, you can whitelist branches starting with greenkeeper/.

Once you have installed and configured CI on this repository correctly, you’ll need to re-trigger Greenkeeper’s initial pull request. To do this, please delete the greenkeeper/initial branch in this repository, and then remove and re-add this repository to the Greenkeeper App’s white list on Github. You'll find this list on your repo or organization’s settings page, under Installed GitHub Apps.

ci(cii): implement CII Best Practices

1. User story summary

As a consumer,
I would like to know that readme-inspector follows the voluntarily, self-certified Core Infrastructure Initiative (CII)
In order to feel confident about product quality.

2. Acceptance criteria

The following OWASP dependency-checks are sufficiently addressed:

  • 1. Basics 12/12
  • 2. Change Control 9/9
  • 3. Reporting 8/8
  • 4. Quality 13/13
  • 5. Security 16/16
  • 6. Analysis 8/8
  • 7. The README displays a CII Best Practices Badge with a link to the self-certificated questions and answers.

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.