Build a business card for the terminal

Usage no npm install needed!

<script type="module">
  import bizCarderator from '';



npm npm CircleCI PRs Welcome MIT Licensed

Allows building a business card that can be run in the terminal.


You will need to create your own project and install this module in it:

# with npm
npm install biz-carderator

# with yarn
yarn add biz-carderator

You can then use it by passing information about yourself:

import carderator from 'biz-carderator';
import path from 'path';
import readPkg from 'read-pkg';

(async (): Promise<void> => {
  const packageJson = await readPkg({
    cwd: path.join(__dirname, '..'),

  const info = {
    name: 'Mitchell Simoens',
    github: 'mitchellsimoens',
    gitlab: 'mitchellsimoens',
    handle: 'mitchellsimoens',
    linkedin: 'mitchellsimoens',
    npm: 'mitchellsimoens',
    twitter: 'LikelyMitch',
    website: '',
    work: {
      company: 'Modus Create',
      title: 'Senior Fullstack Engineer',


In your package.json, you'll need a couple important pieces. Here is a sample package.json:

  "name": "mitchellsimoens",
  "version": "1.0.1",
  "description": "Business card for Mitchell Simoens",
  "main": "index.js",
  "bin": {
    "mitchellsimoens": "./bin/index.js"
  "files": ["assets", "bin", "lib"],
  "scripts": {
    "build": "tsc",
    "build:check": "tsc --noEmit",
    "lint": "eslint 'bin/**/*.js' 'src/**/*.ts'",
    "lint-staged": "lint-staged",
    "start": "node -r ts-node/register src/index.ts",
    "version": "npm version patch",
    "postversion": "git push --follow-tags"
  "repository": {
    "type": "git",
    "url": "git+"
  "publishConfig": {
    "access": "public"
  "keywords": ["mitch", "mitchell", "simoens", "mitchellsimoens", "business card", "e-card", "card"],
  "author": "Mitchell Simoens <>",
  "license": "MIT",
  "bugs": {
    "url": ""
  "homepage": "",
  "husky": {
    "hooks": {
      "pre-commit": "yarn run lint-staged"
  "lint-staged": {
    "src/**/*.{js,jsx,ts,tsx}": ["eslint --fix", "git add"]
  "dependencies": {
    "biz-carderator": "1.0.0",
    "boxen": "4.1.0",
    "colorette": "1.1.0",
    "read-pkg": "5.2.0"
  "devDependencies": {
    "@types/node": "12.6.4",
    "@types/read-pkg": "4.0.0",
    "@typescript-eslint/eslint-plugin": "1.12.0",
    "@typescript-eslint/parser": "1.12.0",
    "eslint": "6.0.1",
    "eslint-config-airbnb": "17.1.1",
    "eslint-config-prettier": "6.0.0",
    "eslint-import-resolver-lerna": "1.1.0",
    "eslint-import-resolver-typescript": "1.1.1",
    "eslint-plugin-import": "2.18.0",
    "eslint-plugin-jest": "22.9.0",
    "eslint-plugin-jsx-a11y": "6.2.3",
    "eslint-plugin-prettier": "3.1.0",
    "eslint-plugin-react": "7.14.2",
    "husky": "3.0.0",
    "lint-staged": "9.2.0",
    "prettier": "1.18.2",
    "ts-node": "8.3.0",
    "typescript": "3.5.3"

The name is the module name that should also match the key in the bin object. This is so you can run npx mitchellsimoens without needing to install anything. This is also using typescript but you could use javascript. This is a sample output: