- What is Pristine?
- Before Getting Started
- What is Pristine CLI?
- How to Use Pristine CLI and Pristine Templates?
- Resources
- Contributing
Previously, there were a lack of repositories to start from to build community driven open source projects. Pristine is a complete starting point, it follows a Documentation Driven Development approach, and can be used as a resource to augment existing documentation.
Pristine is an open source repository in its original condition 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.
- If you are a Windows User, you should download, unzip, and open Cmder as your console commander. The advantage of using Cmder is its portability and UNIX compatibility.
- nvm (node version manager) is a tool that allows you to download and install Node.js.
- Download nvm for windows newest version from GitHub.
- Unzip the package and follow the installation instructions provided in nvm-setup.exe.
- To check if the installation is successful, run
nvm --version
in Cmder. You will see the latest version displayed. - Once you have finished the installation of nvm, you are ready to install Node.js.
- Node.js is an open-source, cross-platform JavaScript run-time environment that executes JavaScript code outside of a browser.
- Run
nvm install node
in Cmder to install the newest version of Node.js. - To check the version of Node.js, run
node --version
in Cmder.
- In order to install the pristine-cli module, you also need to have the latest version of npm program.
- The npm (node package manager) program is a package manager for Node.js packages (or so-called modules).
- Fortunately, npm is distributed with Node.js. Once you have successfully installed Node.js, you should be able to use run npm in your Cmder right away.
- It should be noted that npm is a separate project from Node.js and tends to be updated more frequently. It is important to check the version by running
npm --version
in Cmder.
Pristine CLI is a Commander Line Interface that allows a user to create his or her project based on various pristine DDD templates developed by ETC Lab Core on GitHub.
Several options of templates to choose from are:
- Pristine Typescript: A template for Typescript-based applications
- Pristine React: A template for React-based applications
- Pristine Typescript Electron: A template for Typescript Electron based applications
- Pristine Typescript React Jade: A WIP template for P2P decentralized applications based on React and Jade’s DApp tooling suite.
- Install the Pristine CLI by running
npm install -g @etclabscore/pristine-cli
in Cmder. - To start a new project using the Pristine template, run:
pristine-cli myNewProject
. - Follow the prompts and use the up and down arrow key to select a template and create a new project to suite your needs. A local repository of your selected Pristine template will be generated in your current directory. You may edit the cloned documents in your favorite Markdown editor. Remember to push the local repository to GitHub once you have finished working on your documentation oriented project.
-
Another two quicker remote ways to utilize the Pristine templates in your project are to fork / clone the repository
-
Or simply click on the use this template button of a remote pristine template repository on GitHub @etclabscore.
-
Before you start working on the project offline, remember to pull and merge all the remote changes to your local directory.
- Pristine
- Ethereum Classic: Introduction to Pristine — An open standard and template for open-source projects.
- opensource.guide
- Github community profiles for public repositories
- Readme Driven Development
- pengwynn/flint
- Working Backwards
- Literate programming
- Hammock Driven Development
- Inversion and The Power of Avoiding Stupidity
- choosealicense.com
How to contribute, build and release are outlined in CONTRIBUTING.md, BUILDING.md and RELEASING.md respectively. Commits in this repository follow the CONVENTIONAL_COMMITS.md specification.