{"id":15663629,"url":"https://github.com/jonschlinkert/github-contributors","last_synced_at":"2025-05-05T23:09:12.032Z","repository":{"id":29628059,"uuid":"33168927","full_name":"jonschlinkert/github-contributors","owner":"jonschlinkert","description":"Generate a markdown or JSON list of contributors for a project using the GitHub API.","archived":false,"fork":false,"pushed_at":"2017-01-04T15:06:58.000Z","size":22,"stargazers_count":17,"open_issues_count":0,"forks_count":10,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-05-05T23:09:07.180Z","etag":null,"topics":["api","contributor","contributors","github","javascript","json","node","nodejs"],"latest_commit_sha":null,"homepage":"https://github.com/jonschlinkert","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jonschlinkert.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2015-03-31T06:30:12.000Z","updated_at":"2022-12-05T07:22:54.000Z","dependencies_parsed_at":"2022-09-03T12:20:10.716Z","dependency_job_id":null,"html_url":"https://github.com/jonschlinkert/github-contributors","commit_stats":null,"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonschlinkert%2Fgithub-contributors","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonschlinkert%2Fgithub-contributors/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonschlinkert%2Fgithub-contributors/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jonschlinkert%2Fgithub-contributors/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jonschlinkert","download_url":"https://codeload.github.com/jonschlinkert/github-contributors/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252590618,"owners_count":21772938,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","contributor","contributors","github","javascript","json","node","nodejs"],"created_at":"2024-10-03T13:38:57.623Z","updated_at":"2025-05-05T23:09:12.012Z","avatar_url":"https://github.com/jonschlinkert.png","language":"JavaScript","readme":"# github-contributors [![NPM version](https://img.shields.io/npm/v/github-contributors.svg?style=flat)](https://www.npmjs.com/package/github-contributors) [![NPM downloads](https://img.shields.io/npm/dm/github-contributors.svg?style=flat)](https://npmjs.org/package/github-contributors) [![Build Status](https://img.shields.io/travis/jonschlinkert/github-contributors.svg?style=flat)](https://travis-ci.org/jonschlinkert/github-contributors)\n\n\u003e Generate a markdown or JSON list of contributors for a project using the GitHub API.\n\n## Install\n\nInstall with [npm](https://www.npmjs.com/):\n\n```sh\n$ npm install --save github-contributors\n```\n\n## Usage\n\n```js\nvar contributors = require('github-contributors');\nvar repo = 'assemble/assemble';\nvar opts = {};\n\ncontributors(repo, opts, function(err, res) {\n  if (err) console.log(err);\n  // do stuff with res\n});\n```\n\n### Contributors\n\nThe response is an array of contributor objects with this format:\n\n```js\n[{ login: 'doowb',\n    id: 995160,\n    avatar_url: 'https://avatars.githubusercontent.com/u/995160?v=3',\n    gravatar_id: '',\n    url: 'https://api.github.com/users/doowb',\n    html_url: 'https://github.com/doowb',\n    followers_url: 'https://api.github.com/users/doowb/followers',\n    following_url: 'https://api.github.com/users/doowb/following{/other_user}',\n    gists_url: 'https://api.github.com/users/doowb/gists{/gist_id}',\n    starred_url: 'https://api.github.com/users/doowb/starred{/owner}{/repo}',\n    subscriptions_url: 'https://api.github.com/users/doowb/subscriptions',\n    organizations_url: 'https://api.github.com/users/doowb/orgs',\n    repos_url: 'https://api.github.com/users/doowb/repos',\n    events_url: 'https://api.github.com/users/doowb/events{/privacy}',\n    received_events_url: 'https://api.github.com/users/doowb/received_events',\n    type: 'User',\n    site_admin: false,\n    contributions: 577 }]\n```\n\n## authentication\n\nYou can avoid hitting the GitHub rate limit by passing a client ID and client secret on the options:\n\n```js\nvar opts = {id: process.env.CLIENT_ID, secret: process.env.CLIENT_SECRET};\ncontributors('assemble/assemble', opts, function(err, res) {\n  if (err) console.log(err);\n  // do stuff with res\n});\n```\n\n## formatted list\n\nInstead of JSON, get a markdown-formatted list by defining one of the following on `options.format`\n\n* `list`\n* `aligned`\n* `table`\n\nHere are some examples.\n\n### list\n\nContributors from [jonschlinkert/micromatch](https://github.com/jonschlinkert/micromatch)\n\n**Commits** / **Contributor**\n\n* 253 [jonschlinkert](https://github.com/jonschlinkert)\n* 4   [es128](https://github.com/es128)\n* 1   [UltCombo](https://github.com/UltCombo)\n* 1   [tomByrer](https://github.com/tomByrer)\n\n### aligned list\n\nContributors from [jonschlinkert/gray-matter](https://github.com/jonschlinkert/gray-matter)\n\n```bash\nCOMMITS / CONTRIBUTOR\n------- | -----------\n107      jonschlinkert\n7        RobLoach\n2        doowb\n1        ianstormtaylor\n```\n\n### table\n\nContributors from [assemble/assemble](https://github.com/assemble/assemble)\n\n| **Commits** | **Contributor**\u003cbr/\u003e | \n| --- | --- |\n| 949 | [jonschlinkert](https://github.com/jonschlinkert) |\n| 577 | [doowb](https://github.com/doowb) |\n| 11 | [adjohnson916](https://github.com/adjohnson916) |\n| 7 | [Arkkimaagi](https://github.com/Arkkimaagi) |\n| 4 | [bendrucker](https://github.com/bendrucker) |\n| 2 | [avr](https://github.com/avr) |\n| 2 | [thegreatsunra](https://github.com/thegreatsunra) |\n| 2 | [StevenBlack](https://github.com/StevenBlack) |\n| 2 | [xzyfer](https://github.com/xzyfer) |\n| 2 | [ain](https://github.com/ain) |\n| 1 | [prettyboymp](https://github.com/prettyboymp) |\n| 1 | [asans](https://github.com/asans) |\n| 1 | [bauerca](https://github.com/bauerca) |\n| 1 | [jordanthomas](https://github.com/jordanthomas) |\n| 1 | [pburtchaell](https://github.com/pburtchaell) |\n| 1 | [oncletom](https://github.com/oncletom) |\n| 1 | [tomcode](https://github.com/tomcode) |\n| 1 | [tylerhowarth](https://github.com/tylerhowarth) |\n\n## About\n\n### Related projects\n\n* [get-pkgs](https://www.npmjs.com/package/get-pkgs): Get the package.json for an array of repos from the npm registry, optionally filtering properties… [more](https://github.com/jonschlinkert/get-pkgs) | [homepage](https://github.com/jonschlinkert/get-pkgs \"Get the package.json for an array of repos from the npm registry, optionally filtering properties using glob patterns.\")\n* [github-base](https://www.npmjs.com/package/github-base): JavaScript wrapper that greatly simplifies working with GitHub's API. | [homepage](https://github.com/jonschlinkert/github-base \"JavaScript wrapper that greatly simplifies working with GitHub's API.\")\n\n### Contributing\n\nPull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new).\n\n### Building docs\n\n_(This document was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme) (a [verb](https://github.com/verbose/verb) generator), please don't edit the readme directly. Any changes to the readme must be made in [.verb.md](.verb.md).)_\n\nTo generate the readme and API documentation with [verb](https://github.com/verbose/verb):\n\n```sh\n$ npm install -g verb verb-generate-readme \u0026\u0026 verb\n```\n\n### Running tests\n\nInstall dev dependencies:\n\n```sh\n$ npm install -d \u0026\u0026 npm test\n```\n\n### Author\n\n**Jon Schlinkert**\n\n* [github/jonschlinkert](https://github.com/jonschlinkert)\n* [twitter/jonschlinkert](http://twitter.com/jonschlinkert)\n\n### License\n\nCopyright © 2016, [Jon Schlinkert](https://github.com/jonschlinkert).\nReleased under the [MIT license](https://github.com/jonschlinkert/github-contributors/blob/master/LICENSE).\n\n***\n\n_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.1.30, on September 09, 2016._","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonschlinkert%2Fgithub-contributors","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjonschlinkert%2Fgithub-contributors","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjonschlinkert%2Fgithub-contributors/lists"}