gitwtfhub

wtf is semi?

yyx990803/semi — explained in plain English

Analysis updated 2026-07-18 · repo last pushed 2019-11-07

305JavaScriptAudience · developerComplexity · 2/5DormantSetup · easy

TL;DR

A command-line tool that automatically adds or removes semicolons from JavaScript code to match whichever style your team requires.

Mindmap

mindmap
  root((repo))
    What it does
      Add semicolons
      Remove semicolons
      Handle tricky edge cases
    Tech stack
      JavaScript
      Node CLI
    Use cases
      Match team style guide
      Convert before committing
      Use as a library
    Audience
      JavaScript developers
      Teams with style rules

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

Why would anyone build with this?

REASON 1

Run 'semi add' before committing to convert semicolon-free code to match a team's required style.

REASON 2

Run 'semi rm' to strip semicolons from a project that follows a no-semicolon style.

REASON 3

Call Semi directly in your own code or build tool when batch-converting many files.

REASON 4

Convert code moving between a semicolon-heavy project and a semicolon-free one.

What's in the stack?

JavaScriptNode.js

How it stacks up

yyx990803/semigaearon/redux-devtools-log-monitorruanyf/chrome-extension-demo
Stars305307302
LanguageJavaScriptJavaScriptJavaScript
Last pushed2019-11-072017-11-112020-10-26
MaintenanceDormantDormantDormant
Setup difficultyeasyeasyeasy
Complexity2/52/51/5
Audiencedeveloperdevelopervibe coder

Figures from each repo's GitHub metadata at analysis time.

How do you spin it up?

Difficulty · easy Time to first run · 5min

No longer actively maintained, ESLint's --fix flag now covers the same functionality.

No license information was mentioned in the explanation.

Yoink these prompts

Prompt 1
Show me the command to run 'semi add' on all JavaScript files in my src folder before committing.
Prompt 2
Explain how Semi decides where to insert a leading semicolon before a line starting with a parenthesis.
Prompt 3
Help me integrate Semi into a pre-commit git hook so semicolons are added automatically.
Prompt 4
Since Semi is no longer actively maintained, help me set up ESLint's --fix option to do the same semicolon conversion instead.

Frequently asked questions

wtf is semi?

A command-line tool that automatically adds or removes semicolons from JavaScript code to match whichever style your team requires.

What language is semi written in?

Mainly JavaScript. The stack also includes JavaScript, Node.js.

Is semi actively maintained?

Dormant — no commits in 2+ years (last push 2019-11-07).

What license does semi use?

No license information was mentioned in the explanation.

How hard is semi to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is semi for?

Mainly developer.

View the repo → Decode another repo

This repo across BitVibe Labs

Don't trust strangers blindly. Verify against the repo.