Ethereum Classic: Introduction to Pristine — An open standard and template for open-source projects.

Image for post
Image for post

In the open-source world, there are open-source standards and contributing etiquette that can help guide developers to effectively build open-source projects. When Ethereum Classic Labs Core (ECLC) launched, our lead tooling developers Shane Jonas and Zackary Belford sought out an open standard that would be fundamental to ECLC projects. An important goal of this new standard would be to encourage Documentation Driven Development (DDD) and provide a template for open-source projects.

ECLC’s solution to this problem is Pristine. A standard that encourages a DDD approach and template for new and existing projects.

Pristine is a repository within itself that contains conventions and specifications for a project to communicate the problem you are solving, ease onboarding, build and use composable tools, promote open source contribution and engagement, and promote the issue and feature discussion on Github itself. This may seem quite simple in its original condition, but there is a huge lack of conventions and specifications for high quality contributing to a large number of open-source projects.

Inside the Pristine repository:

.
├── BUILDING.md # Specification in creating and writing build artifacts.
├── CONTRIBUTING.md # Contributor expectations and etiquette.
├── CONVENTIONAL_COMMITS.md # Specification for light-weight but powerful commit messaging.
├── LICENSE.md # Apache 2.0
├── README.md # Project description
├── RELEASING.md # Specification for project release piplines
└── VERSIONING.md # Specification for release versioning and manipulating versions

While specifications and conventions provide enough guidance for a project. ECLC has created multiple Pristine based templates to help provide a range of starting points for developers.

Pristine Templates

Need a build pipeline for your applications? Have no fear easily configurable .circleciconfigurations are in the above templates.

Thanks to Github’s recent templating feature, developers can easily get started with any of the Pristine templates with a simple click on the repository’s page.

While forking Pristine templates or generating a template on Github is an easy way to get started, ECLC went a step forward to provide an entire CLI with agile access to Pristine templates.

Pristine-CLI

The Pristine-CLI is an agile way to get started using Pristine templates. Simply install and generate your project!

npm install -g @etclabscore/pristine-cli

Create a project and follow the prompts to select a template that suits your needs.

pristine-cli myNewProject

Pristine’s contribution to the Ethereum Classic ecosystem

  • ECLC has adopted Pristine as our fundamental software development philosophy and starting point for all our projects.
  • The OpenRPC project uses the Pristine open standard.
  • Ethernode, a team providing node hardware and node operating systems has adopted Pristine templates in their projects.
  • and many more to come.

Our ETC Labs Core Team Links: About | Github | Medium |Twitter|Discord | Telegram

Follow ETC Labs Social: Twitter | Facebook | LinkedIn

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store