Giter Site home page Giter Site logo

commonality / generator-community Goto Github PK

View Code? Open in Web Editor NEW
8.0 6.0 6.0 3.02 MB

䷤ Generate README, CODE_OF_CONDUCT, CONTRIBUTING, LICENSE, ISSUE_TEMPLATE, and PULL_REQUEST_TEMPLATE repository docs to encourage consumption and invite contributions.

License: MIT License

JavaScript 100.00%
readme readme-template code-of-conduct codeofconduct code-of-conduct-template contributing contributing-template license yeoman-generator generator

generator-community's Introduction

generator-community

License Dependencies' licenses NSP Status Synk Vulnerabilities
StackShare Dependency Status devDependencies Status
Build Status Windows Build status Coverage Status Codacy quality

Generate README, CODE_OF_CONDUCT, CONTRIBUTING, and LICENSE files according to recommended community standards.

Table of contents

1. Overview

generator-community helps product repository maintainers follow the recommended community standards for documentation that communicates expectations, manages contributions, protects participants' legal rights, and optimizes search engine results. generator-community's simple command-line interface prompts you with simple questions in order to generate a:

  1. CODE_OF_CONDUCT.md
  2. CONTRIBUTING.md
  3. Open source LICENSE.md
  4. README.md

Alert icon Currently, generator-community generates a:

  1. .editorconfig
  2. .gitattributes
  3. .gitignore
  4. .yo-rc.json (to store answers for your convenience)
  5. CODE_OF_CONDUCT.md
  6. LICENSE
  7. README.md

generator-community also initializes local Git repository, if one doesn't yet exist.

Please see the Milestones for generator-community's release plan.


2. Installation

2.1. Prerequisite software

  1. Node.js v4.1.1 or greater
  2. npm (which installs with Node.js)
  3. Yeoman (a command-line tool which you will install with npm, and not a manual download)
  4. A package.json application manifest.

Help Verify prerequisite software...
  • 2.1.2. Verify Node.js availability

    Open a Terminal and find out whether you have Node.js installed. Run:

    $ node --version
    # => v7.7.3
    

    If you do not have [Node.js][nodejs-url] installed, you will receive an error message similar to:

    # Linux or macOS
    bash: foobar: command not found
    # You need to install Node.js!
    
  • 2.1.2. Install or update Node.js

    You have two options for installing Node.js.

    The easiest option is to simply download and install Node.js.

    If you feel comfortable using the command line, try one of the following version managers:


    ℹ️ I cannot vouch for the two Windows options, so do a little homework, first.


2.2. Install Yeoman and generator-community

Once you've verified that you have Node.js v4.1.1. or higher installed, open a Terminal and run these two commands:

# Install Yeoman and generator-community globally
$ npm install yo --global

# 💡 The letter "i" is shorthand for "install"; -g is short for --global
$ npm i generator-community -g

3. Usage

Install all four recommended community standards (README, CODE_OF_CONDUCT, CONTRIBUTING, and a LICENSE):

# Generate README.md, CONTRIBUTING.md, CODE_OF_CONDUCT.md, and LICENSE files
# per the recommended community community standards:

$ yo community

This will guide you with prompts to help you pre-fill the documents, e.g.,

$ yo community
? GitHub username or organization johndoe
? Product Name spike-repo
? Write a short description/value proposition The most valuable spike in the world....
? Product homepage URL https://example
? Author's name John Doe
? Author's e-mail [email protected]
? Author's homepage https://github.com/johndoe
? Package keywords (comma to split) recommended community standards,readme,license,toc,table of contents,markdown
? Which programming language does this product use the most? Node.js (JavaScript)
? What do you use to manage dependencies (e.g., Gradle, npm, NuGet)? Leave blank if you don't know. npm
? ⦾ 📄  LICENSE: Select a license MIT
? ⦾ 📄  CODE_OF_CONDUCT: Would you like to generate a Code of Conduct? Yes
? ⦾ 📄  README: Select the sections to include in your README Overview, Configuration, Security, API, Background, License
   create package.json
   create README.md
   create .editorconfig
   create .gitattributes
   create .gitignore
   create CODE_OF_CONDUCT.md
   create LICENSE


I'm all done. Running npm install for you to install the required dependencies. If this fails, try running the command yourself.



> [email protected] install /Users/swindle/Projects/github/commonality/sandbox/spike-repo/node_modules/commitplease
> node install


> [email protected] install /Users/swindle/Projects/github/commonality/sandbox/spike-repo/node_modules/nsp/node_modules/git-validate
> node bin/install

npm WARN prepublish-on-install As of npm@5, `prepublish` scripts are deprecated.
npm WARN prepublish-on-install Use `prepare` for build steps and `prepublishOnly` for upload-only.
npm WARN prepublish-on-install See the deprecation note in `npm help scripts` for more information.

> [email protected] prepublish /Users/swindle/Projects/github/commonality/sandbox/spike-repo
> nsp check

(+) No known vulnerabilities found

> [email protected] prepare /Users/swindle/Projects/github/commonality/sandbox/spike-repo
> npm run lint && npm run security


> [email protected] lint /Users/swindle/Projects/github/commonality/sandbox/spike-repo
> npm run lint:manifest


> [email protected] lint:manifest /Users/swindle/Projects/github/commonality/sandbox/spike-repo
> fixpack

missing main
package.json fixed!

> [email protected] security /Users/swindle/Projects/github/commonality/sandbox/spike-repo
> npm run security:nsp:scan


> [email protected] security:nsp:scan /Users/swindle/Projects/github/commonality/sandbox/spike-repo
> nsp check

(+) No known vulnerabilities found
npm notice created a lockfile as package-lock.json. You should commit this file.
added 571 packages in 9.146s
Thank you for generating community!
✔ /README.md Updated
 Transforms run
  ⁕ TOC:excludeText=Table of contents

3.1. yo community:readme

Quote READMEs do more than explain how to use your project. They also explain why your project matters, and what your users can do with it.

In your README, try to answer the following questions:

  • What does this project do?

  • Why is this project useful?

  • How do I get started?

  • Where can I get more help, if I need it?

Owen, K., Keepers, B., Shepherd, S., & Eghbal, N. (2017, February 17). Starting an Open Source Project. Retrieved September 13, 2017, from https://opensource.guide/starting-a-project/#writing-a-readme

3.1.1. Guided assistance

To answer prompts manually, open a Terminal and run

$ yo community:readme

The community:readme subgenerator will evaluate your product repository's manifests (e.g., package.json for Node.js products, or settings.gradle for Java products) to ensure consistency.

3.1.2. CLI automation

You can automate README.md documentation via the command line interface (CLI) (e.g., during one of your CI/CD pipelines). To view all CLI options, use the --help or -h option:

$ yo community:readme -h
Usage:
  yo community:readme [options]

  Options:
    -h,   --help                # Print the generator's options and usage
          --skip-cache          # Do not remember prompt answers                    Default: false
          --skip-install        # Do not automatically install dependencies         Default: false
          --authorName          # Author name
          --authorUrl           # Author URL
          --dependencyManager   # Tool used to install third-party libraries        Default: Unspecified
          --generateInto        # Destination directory for generated files
          --gitRemoteOriginUrl  # The URI (SSH or HTTPS) of your Git repository     Default: /
          --githubAccount       # GitHub account/organization name
          --description         # Product description
          --lang                # Product's primary programming language            Default: Unspecified
          --license             # Open source software license
          --licenseUrl          # URL to your LICENSE file                          Default: ./LICENSE
          --name                # Product name
    -a,   --includeApi          # README.md: Public API overview (optional)         Default: true
    -b,   --includeBackground   # README.md: Background section content (optional)  Default: false
    -c,   --includeConfig       # README.md: Configuration instructions (optional)  Default: false
    -o,   --includeOverview     # README.md: Overview section content (optional)    Default: false
    -s,   --includeSecurity     # README.md: Security section content (optional)    Default: false

Example:

$ yo community:readme --authorName "Jane Doe" --authorUrl "https://jdoe.example.com" \
  --githubAccount janedoeasindeer --lang JavaScript --licenseName MIT \
  --name spike-sln-community \
  --description "A spike solution to test generator-community." \
  --includeApi --includeConfig --includeSecurity

3.2. yo community:conduct

Quote ...a code of conduct helps set ground rules for behavior for your project’s participants. This is especially valuable if you’re launching an open source project for a community or company. A code of conduct empowers you to facilitate healthy, constructive community behavior, which will reduce your stress as a maintainer.

Owen, K., Keepers, B., Shepherd, S., & Eghbal, N. (2017, February 17). Starting an Open Source Project. Retrieved September 13, 2017, from https://opensource.guide/starting-a-project/#establishing-a-code-of-conduct

3.2.1. Guided assistance

To answer prompts manually, open a Terminal and run

$ yo community:conduct
? Contact email: [email protected]
   create CODE_OF_CONDUCT.md

3.2.2. CLI automation

You can automate CODE_OF_CONDUCT.md generation via the command line interface (CLI) (e.g., during one of your CI/CD pipelines). To view all CLI options, use the --help or -h option:

$ yo community:conduct --help
Usage:
  yo community:conduct [options]

Options:
  -h,   --help          # Print the generator's options and usage
        --skip-cache    # Do not remember prompt answers             Default: false
        --skip-install  # Do not automatically install dependencies  Default: false
        --email         # Contact email
        --generateInto  # Destination directory

Example:

$ yo community:conduct --email [email protected]
   create CODE_OF_CONDUCT.md

3.3. yo community:contributing

Quote A CONTRIBUTING file tells your audience how to participate in your project. For example, you might include information on:

  • How to file a bug report (try using issue and pull request templates)
  • How to suggest a new feature
  • How to set up your environment and run tests

Owen, K., Keepers, B., Shepherd, S., & Eghbal, N. (2017, February 17). Starting an Open Source Project. Retrieved September 13, 2017, from https://opensource.guide/starting-a-project/#writing-your-contributing-guidelines

Alert icon This feature will be delivered with MVP4: community:contribute.

3.4. yo community:license

Quote An open source license guarantees that others can use, copy, modify, and contribute back to your project without repercussions. It also protects you from sticky legal situations. You must include a license when you launch an open source project.

Owen, K., Keepers, B., Shepherd, S., & Eghbal, N. (2017, February 17). Starting an Open Source Project. Retrieved September 13, 2017, from https://opensource.guide/starting-a-project/#launching-your-own-open-source-project


Alert icon If you already have a LICENSE, the community:license subgenerator will prompt you to overwrite it, as well as your package.json.


3.4.1. Guided assistance

To answer prompts manually, open a Terminal and run

$ yo community:license

The community:readme subgenerator will evaluate your product repository's manifests (e.g., package.json for Node.js products, or settings.gradle for Java products) to ensure consistency.

Example:

$ yo community:license
? What's your name: Greg Swindle
? Your email (optional): [email protected]
? Your website (optional):
? Which license do you want to use?
  Unlicense
  No License (Copyrighted)
  Apache 2.0
❯ MIT
  Mozilla Public License 2.0
  BSD 2-Clause (FreeBSD) License
  BSD 3-Clause (NewBSD) License

3.4.2. CLI automation

You can automatically generate a LICENSE file via the command line interface (CLI) (e.g., during one of your CI/CD pipelines). To view all CLI options, use the --help or -h option:

yo community:license -h
Usage:
  yo community:license [options]

Options:
  -h,   --help            # Print the generator's options and usage
        --skip-cache      # Do not remember prompt answers                 Default: false
        --skip-install    # Do not automatically install dependencies      Default: false
        --defaultLicense  # Default license
        --email           # Email of the license owner
        --generateInto    # Destination directory of the generated files
        --license         # Enter an SPDX license name
        --name            # Name of the license owner
        --output          # Set the output file for the generated license  Default: LICENSE
        --website         # Website of the license owner
        --year            # Year(s) to include on the license              Default: 2017

3.5. Update tables of contents in markdown files

Markdown icon

yo community installs an npm-script that will help keep your documents' table of contents up-to-date. To automatically update your markdown files' tables of contents:

  • Add the following comments to your markdown file(s):
    <!-- ⛔️ AUTO-GENERATED-CONTENT:START (TOC:excludeText=Table of contents) -->
    This text will be replaced by a table of contents 😏 .
    <!-- ⛔️ AUTO-GENERATED-CONTENT:END -->
  • Open a Terminal and run:
    $ npm run docs:toc

For more information, visit DavidWells/markdown-magic.

4. npm-scripts

Software modules often have funky, irrelative names; therefore, we prefix custom tasks by their responsibility and purpose.

Prefix Definition
build* Source code distribution tasks.
docs* API documentation and automation tasks.
lint* Code style, standards, and vulnerabilty assessments (as well as fixes, if available).
release Bump the product's semver, update docs, commit, and publish to the npm registry.
security* Security vulnerabilty checks.

The following CLI npm-scripts are available to you (assuming you're human, gentle reader) and CI-services.

Script Description
docs npm run docs:scripts && npm run docs:toc
docs:toc md-magic --path '**/*.md' --ignore 'node_modules'
lint npm run lint:node-version && npm run lint:js && npm run lint:manifest
lint:js eslint ./generators/**/*.js ./__tests__/**/*.js --fix
lint:manifest fixpack
lint:node-version check-node-version --package
prepublish npm run security
release standard-version
security npm run security:nsp:scan
security:nsp:scan nsp check
pretest npm prune && npm run lint
test jest --forceExit --config=jest.config.json
posttest npm run security

5. Semantic version and CHANGELOG

The latest version of commonality/generator-community is 0.0.0. View the CHANGELOG for details.

6. Contributing to generator-community

Learn how to make a Pull Request with free training

We welcome contributors with Pull Requests!

Contributions in the form of GitHub pull requests are welcome. Before embarking on a significant change, please adhere to the following guidelines:

  1. Read the Code of Conduct.
  2. Create an issue to discuss the proposed change and ensure that it is likely to be merged:
  3. Follow Contributing to generator-community's coding conventions and Git workflow if you're willing and able to program (or want to learn how).

7. License

MIT © Greg Swindle.

Third-party software licenses for `generator-community (read the NOTICE file for a detailed report):

FOSSA Status


Conventional Commits Greenkeeper automated dependency management README score

generator-community's People

Contributors

gregswindle avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

generator-community's Issues

feat(product-manifest): capture essential software configuration information

💡 TIP: Select the "Preview" Tab to help read these instructions.

1. Issue type

  • Feature: I'm requesting an enhancement.

2. User story summary

Describe what you want to accomplish and in what role/capacity, and why it's important to you.

As a product maintainer,
I need to read and write to a product manifest
In order to manage the configuration of my product.

3. Acceptance criteria

ℹ️ Initial MVPs will serialize software configurations with Node.js product manifests, i.e., the package.json file. If a package.json exists, generator-community will only ever add information: generator-community should never replace or overwrite existing data.

📡 Future releases should detect a software product's manifest by language and dependency manager, e.g., Ruby: Gemfile; Java (Gradle): build.gradle; Python: MANIFEST; etc.

  • 1. A package.json is created if one doesn't exist already.
  • 2. The manifest declares a canonical name for the software product.
  • 3. The manifest provides a brief description of the product in order to communicate purpose and value.
  • 4. The manifest provides the product's semantic version.
  • 5. The manifest provides the primary product author's name, contact url, and contact email.
  • 6. The manifest provides an issue tracking URL in case consumers need to report a defect.
  • 7. The manifest lists all third-party production dependencies and their semantic versions.
  • 8. The manifest lists all third-party development dependencies and their semantic versions.
  • 9. The manifest provides the software product's homepage URL.
  • 10. The manifest provides a list of keywords that can be used to help classify the software product.
  • 11. The manifest provides the URI to the product's primary source code repository.
  • 12. The manifest declares the product's open source license.

4. Reference material

feat(interactive-docs): generate executable documentation

💡 TIP: Select the ↖︎⎾ Preview ⏋ Tab above help read these instructions.

1. Issue type

  • Feature: I'm requesting a product enhancement.

2. User story summary

As a consumer or contributor,
I want interactive documentation with RunKit
In order to learn and try using and contributing to generator-community.

3. Acceptance criteria

  • 1. Documentation is automatically published whenever changes are merged into master.
  • 2. Documentation supports and executes RunKit and Repl.it

feat(conduct): generate a code of conduct file

1. Issue type

⌦ Type the letter "x" in the "checkbox" the best describe this issue.

  • Feature: I'm requesting a product enhancement.

2. User story summary

⌦ Describe what you want to accomplish, in what role/capacity, and why it's important to you.

As a repository maintainer,
I need to generate a code of conduct
In order to declare acceptable and unacceptable behavior to (potential) contributors.

3. Acceptance criterion

  • 1. A CODE_OF_CONDUCT.md file based on the Contributor Covenant, version 1.4, exists.
  • 2. The CODE_OF_CONDUCT.md includes a team contact email link.

feat(issue-labels): generate a standard set of labels to categorize issues

1. Issue type

⌦ Type the letter "x" in the "checkbox" the best describe this issue.

  • Feature: I'm requesting a product enhancement.

2. User story summary

⌦ Describe what you want to accomplish, in what role/capacity, and why it's important to you.

EXAMPLE:
As a Applicant,
I want to submit my resume
In order to be considered for a job opening.

As a {role},
I must/need/want/should {do something}
In order to {achieve value}.

3. Acceptance criteria

⌦ Replace the examples below with your own imperative, "true/false" statements for the behavior you expect to see, or the behavior that would be true if there were no errors (for defects).

  • 1. Job Applicants receive a confirmation email after they submit their resumes.
  • 2. An Applicant's resume information isn't lost when errors occur.
  • 3. {criterion-three}
  • 4. {criterion-four}

🐞 4. Steps to reproduce (for defects only)

⌦ Provide a link to a live example, or
⌦ Replace the examples below with an unambiguous sequence of instructions that end with proof of the defect.
⌦ Include source code and log files, if relevant and available.

  1. Enter the words "...." into the "Search" text field.
  2. Select the Search button.
  3. Next...
  4. Then...
  5. Finally...
  6. X does not work as expected.

🐞 5. Your environment (for defects only)

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

  • Version of generator-community:
  • Environment name and version (e.g. Chrome 39, node.js 5.4):
  • Operating System and version (desktop or mobile):
  • Link to your project:

feat(contributing): generate a CONTRIBUTING.md document

1. Issue type

⌦ Type the letter "x" in the "checkbox" the best describe this issue.

  • Feature: I'm requesting a product enhancement.

2. User story summary

As a repository maintainer,
I need to have a CONTRIBUTING.md document
In order to assist those who want to contribute.

3. Acceptance criteria

  • 1. Maintainers are prompted for their Git branching workflow (feature-branch, Gitflow, or "other")
  • 2. Maintainers are prompted for a URL to their code standards and name (if applicable).
  • 3. Maintainers are prompted for the name and URL to their linter.
  • 4. Maintainers are prompted for their unit testing framework name and URL.
  • 5. Maintainers are prompted for their unit testing Statement, Branch, Method, and Line coverage thresholds.
  • 6. Maintainers are prompted for the name of their Logging library and its URL.
  • 7. Maintainers are prompted for their conventional commit message style (jQuery or Angular).
  • 8. Maintainers are prompted for their product's programing language.
  • 9. Maintainers are prompted for their product's dependency manager.
  • 10. Maintainers are prompted for the path to their product manifest.
  • 11. Maintainers are asked whether to include a section for RESTful APIs.
  • 12. A CONTRIBUTING.md document is generated based on the answers provided.
  • 13. The README.md document has been updated to reflect new features.

Setup Airbrake for your JavaScript application

Install Airbrake in 2 easy steps:

Step 1: Add the library
Include via CDN:

<script src="https://cdnjs.cloudflare.com/ajax/libs/airbrake-js/1.0.4/client.min.js"></script>

We also support installation via npm and Bower.

Step 2: Copy this config snippet to your app.js file

(You can find your project ID and API KEY with your project's settings):

var airbrake = new airbrakeJs.Client({
  projectId: <Your project ID>,
  projectKey: '<Your project API Key>'
});
airbrake.addFilter(function (notice) {
  notice.context.environment = 'production';
  return notice;
});

To test that Airbrake has been installed correctly in your JavaScript project, just open up the JavaScript console in your internet browser and paste in:

airbrake.notify('hey there!')

Visit official GitHub repo for more info on alternative configurations and advanced options.

feat(license): compose generator-community with generator-license

💡 TIP: Select the "Preview" Tab to help read these instructions.

1. Issue type

  • Feature: I'm requesting an enhancement.

2. User story summary

Describe what you want to accomplish and in what role/capacity, and why it's important to you.

As a product owner,
I must include an open source license
In order to make my software product open source.

3. Acceptance criteria

  • 1. generator-community is composed with generator-license.
  • 2. yo community invokes generator-license.
  • 3. the community:license subgenerator invokes generator-license using the same CLI signature and arguments as generator-license.

4. Reference material

generator-node's app generator has good sample code that invokes generator-license.

feat(readme): generate a composable README.md file for product consumers

TIP: Select the "Preview" Tab to help read these instructions.

1. Issue type

  • Feature: I'm requesting an enhancement.

2. User story summary

As an open source product maintainer,
I need a consistent and succinct README file
In order to encourage consumption of my product.

3. Acceptance criteria

Replace the examples below with your own imperative, "true/false" statements for the behavior you expect to see, or the behavior that would be true if there were no errors (for defects).

  • 1. Generated READMEs display a title that defaults to the package.json/#/name property.
    - [ ] 2. Generated READMEs display an option logoPath under the title.
  • 3. Generated READMEs display an optional section for badges.
  • 4. Generated READMEs display a required short description section.
  • 5. Generated READMEs provide an optional Overview section.
  • 6. Generated READMEs provide a Table of contents section with anchor links that jump to subsequent sections.
  • 7. Generated READMEs display a required Installation section with default Node.js installation instructions.
  • 8. Generated READMEs provide an optional Configuration section.
  • 9. Generated READMEs display a required Usage section.
  • 10. Generated READMEs provide an optional API section.
  • 11. Generated READMEs provide an optional Background section.
  • 12. Generated READMEs provide an optional Security section.
  • 13. Generated READMEs display a Contributing section.
  • 13.1. The Contributing section provides a working link to a CODE_OF_CONDUCT document.
  • 13.2. The Contributing section provides a working link to a CONTRIBUTING document.
  • 13.3. The Contributing section provides a link that will pre-populate a new GitHub feature request.
  • 13.4. The Contributing section provides a link that will pre-populate a new GitHub defect report.
  • 14. Generated READMEs display a License section with a working links to the OSS license and its copyright owner.

Notes

There are several README generators available on the npm registry today. Evaluate:

feat(cli): generate a cli program

💡 TIP: Select the ↖︎⎾ Preview ⏋ Tab above help read these instructions.

1. Issue type

⌦ Type the letter "x" in the "checkbox" the best describe this issue.

  • Feature: I'm requesting a product enhancement.

2. User story summary

⌦ Describe what you want to accomplish, in what role/capacity, and why it's important to you.

As a repository maintainer,
I want to stub a CLI
In order to automate features via a Terminal.

3. Acceptance criteria

⌦ Replace the examples below with your own imperative, "true/false" statements for the behavior you expect to see, or the behavior that would be true if there were no errors (for defects).

  • 1. All of generator-node/generators/cli's features are available.

feat(github-templates): generate a PULL_REQUEST_TEMPLATE.md and ISSUE_TEMPLATE.md

1. Issue type

⌦ Type the letter "x" in the "checkbox" the best describe this issue.

  • Feature: I'm requesting a product enhancement.

2. User story summary

⌦ Describe what you want to accomplish, in what role/capacity, and why it's important to you.

EXAMPLE:
As a Applicant,
I want to submit my resume
In order to be considered for a job opening.

As a {role},
I must/need/want/should {do something}
In order to {achieve value}.

3. Acceptance criteria

⌦ Replace the examples below with your own imperative, "true/false" statements for the behavior you expect to see, or the behavior that would be true if there were no errors (for defects).

  • 1. Job Applicants receive a confirmation email after they submit their resumes.
  • 2. An Applicant's resume information isn't lost when errors occur.
  • 3. {criterion-three}
  • 4. {criterion-four}

🐞 4. Steps to reproduce (for defects only)

⌦ Provide a link to a live example, or
⌦ Replace the examples below with an unambiguous sequence of instructions that end with proof of the defect.
⌦ Include source code and log files, if relevant and available.

  1. Enter the words "...." into the "Search" text field.
  2. Select the Search button.
  3. Next...
  4. Then...
  5. Finally...
  6. X does not work as expected.

🐞 5. Your environment (for defects only)

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

  • Version of generator-community:
  • Environment name and version (e.g. Chrome 39, node.js 5.4):
  • Operating System and version (desktop or mobile):
  • Link to your project:

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.