Pristine Typescript OpenRPC Server
A typescript OpenRPC Server repository in its original condition.
Pristine Typescript OpenRPC Server a fork of Pristine.
There are a lack of repositories to start from to build community driven open source projects. Pristine Typescript is a complete starting point, it follows a Documentation Driven Development approach, and can be used as a resource to augment existing documentation.
- To set up this repository you can use the pristine-cli and choose this repo to start from
- OR use it as a github template and run
This pristine OpenRPC starting point auto generates clients to interact with this server when released via
semantic-release. You can test out the generated ones from this repo:
npm install @etclabscore/pristine-typescript-openrpc-server-client
add this to your
pristine-typescript-openrpc-server-client = "1.1.2"
How to use Pristine in your project
There are 2 options for using pristine with your project.
- Fork this repo as the start of your own, OR
- follow these instructions to use it on an existing repository.
Documentation Driven Development
There are many ways to drive open source development. Documenting the problem in the README gives a middle ground between technical and non-technical specifications. This allows organizing solutions to this challenge around community and documentation.
[...] a beautifully crafted library with no documentation is also damn near worthless. If your software solves the wrong problem or nobody can figure out how to use it, there’s something very bad going on.
- Readme Driven Development by Tom Preson-Werner
Conventions and Specifications
This repository has some strong opinions built in like circleci, semantic-release, npm. So feel free to fork and change it at your own discretion. It is only meant to be a starting point. That being said:
Using conventions, documentation and specifications make it easier to:
- communicate the problem you are solving
- ease onboarding
- build and use composable tools
- promote open source contribution and engagement
- promote issue and feature discussion on Github itself
- Github community profiles for public repositories
- Readme Driven Development
- Working Backwards
- Literate programming
- Hammock Driven Development
- Inversion and The Power of Avoiding Stupidity