An open API service indexing awesome lists of open source software.

https://github.com/doowb/clone-repos

Clone all of a user's github repositories.
https://github.com/doowb/clone-repos

Last synced: about 1 year ago
JSON representation

Clone all of a user's github repositories.

Awesome Lists containing this project

README

          

# clone-repos [![NPM version](https://img.shields.io/npm/v/clone-repos.svg?style=flat)](https://www.npmjs.com/package/clone-repos) [![NPM downloads](https://img.shields.io/npm/dm/clone-repos.svg?style=flat)](https://npmjs.org/package/clone-repos) [![Build Status](https://img.shields.io/travis/doowb/clone-repos.svg?style=flat)](https://travis-ci.org/doowb/clone-repos)

Clone all of a user's github repositories.

## Install

Install with [npm](https://www.npmjs.com/):

```sh
$ npm install --save clone-repos
```

## Usage

```js
var cloneRepos = require('clone-repos');
```

## API

### [.clone](index.js#L40)

Clone all repositories for the specified `owner`. All repositories will be cloned into a folder with the owner's name. The `options.dest` property may be set to specify where the repositories are cloned.

**Params**

* `options` **{Object}**
* `options.owner` **{String|Array}**: Github `user` or `org` name to clone.
* `options.dest` **{String}**: Destination folder for cloned repositories (defaults to `owner`).
* `options.auth` **{Object}**: Authentication object to use to authenticate to github to extend github api limits.
* `options.auth.type` **{String}**: Authentication type to use. May be `basic` or `oauth`.
* `options.auth.username` **{String}**: Github `username` to use when using `basic` authentication.
* `options.auth.password` **{String}**: Github `password` to use when using `basic` authentication.
* `options.auth.token` **{String}**: Github personal access token to use when using `oauth` authentication.
* `options.filter` **{Function}**: Optional filter function to filter out repositories that should not be cloned.
* `cb` **{Function}**: Callback function called with `err` and `repos` object containing list of cloned repositories.

**Example**

```js
clone({owner: 'doowb'}, function(err, repos) {
if (err) return console.error(err);
console.log('cloned', repos);
});
```

## About

### Related projects

[github-base](https://www.npmjs.com/package/github-base): Base methods for creating node.js apps that work with the GitHub API. | [homepage](https://github.com/jonschlinkert/github-base "Base methods for creating node.js apps that work with the GitHub API.")

### Contributing

Pull requests and stars are always welcome. For bugs and feature requests, [please create an issue](../../issues/new).

### Building docs

_(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).)_

To generate the readme and API documentation with [verb](https://github.com/verbose/verb):

```sh
$ npm install -g verb verb-generate-readme && verb
```

### Running tests

Install dev dependencies:

```sh
$ npm install -d && npm test
```

### Author

**Brian Woodward**

* [github/doowb](https://github.com/doowb)
* [twitter/doowb](http://twitter.com/doowb)

### License

Copyright © 2016, [Brian Woodward](https://github.com/doowb).
Released under the [MIT license](https://github.com/doowb/clone-repos/blob/master/LICENSE).

***

_This file was generated by [verb-generate-readme](https://github.com/verbose/verb-generate-readme), v0.1.30, on August 22, 2016._