Skip to content

glippi/kataclism

Repository files navigation

A violent upheaval that causes your terminal to scaffold an entire new kata

CircleCI version MIT License

🥋⛩️ Kataclism

This project aims to facilitate the life of all the TDD disciples and kata practicioners, wihch works with JavaScript or TypeScript. As we know, in order to do a kata we need to setup always the same boring stuff, like testand src directories; moreover, we need to setup all the tooling that nowadays we need as JavaScript developers (babel, prettierc etc). I created this package to reduce the time spent on bootstrapping the kata structure, and let the developer starts immediately to work on the kata.

Usage

To globally install kataclism run:

npx kataclism

How does it works?

There are two ways of using kataclism:

1. Create a new empty project:

Call kataclism with the argument create followed by the name of the project you want to start and kataclism will bootstrap the project.

Want to work with TypeScript?

Add -t option to bootstrap the project with TypeScript.

2. Choose one of the default katas:

Run kataclism without arguments and kataclism will prompt you with a list of some of the most used katas; navigate the list with the arrow keys, and select the kata you want to practice with enter. By default, kataclism will generated a README with all the instructions needed for practicing the kata you choosed.

Folder Structure:

The following structure generated is for the JavaScript template:

|--src
   |---index.js
|--test
   |---index.test.js
|--package.json
|--README.MD

and this for TypeScript:

|--src
   |---index.ts
|--test
   |---index.test.ts
|--package.json
|--tsconfig.json
|--README.MD

and this for Netcore:

|--Kata
   |---YourAmazingProductionCode.cs
   |---YourAmazingUnitTests.cs
|--README.MD

Supported languages

language cli flag available
JavaScript '-j' ✔️
TypeScript -t ✔️
Netcore -n ✔️

But by default language is JavaScript

FAQ

How to run tests?

For JavaScript and TypeScript

  • npm run test:once
  • npm run test:watch for keep the tests executing on each change.

> For Netcore * `dotnet test`.
What are katas?

For more info about the what and the why behind katas, please check out this article; and if you're courious about the history behind them this one too.

Where can I find katas?

Have a look to these resources:

License

MIT