Giter Club home page Giter Club logo

meta's Introduction

title description category repository_url
Meta
Standard to create Open Standards
user-guide

badge

Backers on Open Collective Sponsors on Open Collective

Goals

The development world inside GitHub is vast and full of wonders, with lots people with different ways to conceive a piece of software. Open Source projects can present a huge challenge on how things should be done across scattered teams where common-knowledge distribution is a huge challenge on its own too.

Every developer comes from different background and can think of a solution in a number of different ways, but in order to be successful there are certain ground rules that should be put in place.

Being able to create something that followed pre-established conventions we can all agree on basically helps us:

  • Measure quality in some way
  • In case of software development, standards would assist a developer in understanding what a piece of software provides in order to facilitate usage
  • Provide an understandable and universally accepted way to collaborate on any type of project
  • Promote a healthy way to extend any project when collaboration guidelines are followed
  • Bring up to speed new comers to a project being able to ramp up reading applied standards

A project complient with this standard constitutes a standard.

Definition

In a README.md file

Title, description and category

Basic information should be added to the header of the README.md file of your standard to identify it. First of all we have the title of the standard that should be meaningful yet short, then a short description. Lastly a category to help searchability (e.g. the targeted programming language) and the resporitory URL where the standard is located. These need to be in the following form:

 ---
 title: Meta
 description: Standard to create Open Standards
 category: user-guide
 repository_url: https://github.com/standards/meta
 ---

Goals section

This section should cover why the standard should exist. Always try to include the "A project compliant with this standard..." and examples of the resultant workflow of a compliant project.

Definition section

Which are the specific requirements that should be applied in order to be fully compliant. You can also point out optional requirements with a clear reference of why it is optional. At least there should be one compulsory requirement.

Resources section

Any reference to documentation used to create the standard as well as any appendixes. This is optional as there may not be any resource available to add.

Maintainers section

At least two people, with their correspondent email addresses, responsible for maintaining the standard. Also they could officiate as validators if no validator section is included. Refer to the Learn section of the Standards homepage to know more about validators job.

Validator section (optional)

It can be omitted if the people added as "Maintainers" are the ones responsible of fulfilling validators tasks. Otherwise, same requirements, at least two persons with their correspondent email addresses.

Other files

The following files should exist in your repository root or inside a .github folder:

ISSUE_TEMPLATE.md file

With the following content:

## What is the purpose of this Issue?
- Request validation (title must be "Validate owner/repo-name vX.Y.Z" being owner/repo the repository location to validate and vX.Y.Z the standard version complied)
- Propose changes
- Propose a new Standard

## Describe the purpose of this Issue a bit further

PULL_REQUEST_TEMPLATE.md

With the following content:

## What is the purpose of this Pull Request?

## Does this Pull Request solve any existent Issue?  

Resources

  • Explore section of the Standards homepage: Where you can explore all existing standards.
  • Learn section of the Standards homepage: Information to understand how you can submit a new standard, propose changes to existing ones or request validation for applied standards on your projects.

Maintainers

  1. @leog
  2. @olstenlarck

Contributors

This project exists thanks to all the people who contribute. [Contribute].

Backers

Thank you to all our backers! ๐Ÿ™ [Become a backer]

Sponsors

Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [Become a sponsor]

meta's People

Contributors

erunion avatar leog avatar monkeywithacupcake avatar tunnckocore avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

meta's Issues

Validate standards/meta v1.0.0

This issue is a symbolic request to validate the meta standard as a valid standard. It obviously is as it defined how it should be written. Standard-ception!

Javascript project standard

What is the purpose of this Issue?

  • Propose a new Standard

Describe the purpose of this Issue a bit further

I would be really useful to have a common way to write Javascript projects. That would mean that a developer could easily identify certain things about the projects in order to work on it effortlessly.

There are many components to have into account like relying on @feross/standard or its forks which are slightly the same standard with some variations.

As far as how deep this standard should go, the premise is very simple and yet powerful. A standard should just cover what could be verifiable, whether is automatically through a very well supported tool or manually going through any project that asks for validation. For example, it would be very difficult to have verifiable code style guides without any automatic tool, like the one standardjs uses (running standard CLI once it is installed).

Also, a Javascript project is not just only about code style. It's also about certain files that needs to be present to have a very good idea about the project itself. For example, should a JS project have a package.json file (https://docs.npmjs.com/files/package.json) to describe dependencies and other useful information? Should it have a .editorconfig file (http://editorconfig.org) to describe IDE behaviors? Let's get the best practices together to have the best JS projects possible.

I'm just opening the discussion to hopefully get buy-in from other devs to work together towards a better developer experience for all.

`feross/standard` pkg and `standards/standard` CLI

  • can be transferred here
  • i think it should be rewritten
  • it will continue to have backward compatibility
  • it would support flags for
    • javascript (gfm) code blocks in md files (maybe only READMEs?)
    • checking against standards/readme standard for README code style
    • semistandard case, cuz it is just overriding of one prop of config that is passed to eslint
    • using the other style standards from the org (assuming which to use on per extension basis?)
    • using -u flag for .useing other standards and passing them to standards/engine?
    • and all current flags
    • support for different reporters with -R
  • it would be just CLI
  • eslint-(semi)standard-config (aka shareable configs) to be in org
  • standards/js maybe core of standards/standard backward compatible, just for js, lightweight?
    • maybe it would be my experimental implementation of feross/standard using my glob-fs and micromatch instead of node-glob + minimatch implementation when it is almost rdy and when whole stack of github.com/vinyljs stack is done

TBC...

Badges and Logos

For each of the standards, some like feross/standard

js-standard-style

[![js-standard-style](https://cdn.rawgit.com/feross/standard/master/badge.svg)](https://github.com/feross/standard)

and
js-semistandard-style

[![js-semistandard-style](https://cdn.rawgit.com/flet/semistandard/master/badge.svg)](https://github.com/Flet/semistandard)

And the badge for all can be simple like

[![](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)](https://img.shields.io/badge/code%20style-standard-brightgreen.svg)

or for CSS Standard Style

[![](https://img.shields.io/badge/standard-css-brightgreen.svg)](https://img.shields.io/badge/standard-css-brightgreen.svg)

for HTML Standard Style

[![](https://img.shields.io/badge/standard-html-brightgreen.svg)](https://img.shields.io/badge/standard-html-brightgreen.svg)

and etc

standard-engine

  • To be more general in first place
  • To be in standars/engine
  • Using (passing to it) different linters for each of the style standards.
  • It is possible to transfer flet/standard-engine here or rewrite it?
  • Without CLI in it, it would be core factory mechanism for loading lint configs and linting #3

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.