devtui

A Swiss-army app for developers

View on GitHub

DevTUI - A Swiss-army app for developers

DevTUI is an all-in-one terminal toolkit designed for developers. It consolidates your everyday utilities into a single, unified TUI (Text User Interface) and CLI (Command Line Interface). No more juggling multiple tools โ€” everything you need is now just one command away.

๐Ÿš€ Actively developed and continuously improving.

devtui

โœจ Features

DevTUI includes a growing collection of handy tools for developers:


๐Ÿ“ฆ Install

๐Ÿงƒ Homebrew

brew install skatkov/tap/devtui

๐Ÿ“ฅ Download Executable

Or download executable from GitHub Releases


๐Ÿ’ก Why DevTUI?


๐Ÿ“‹ Requirements

macOS

Linux

To check your session type:

echo $XDG_SESSION_TYPE
# Output: wayland or x11

Windows


๐Ÿš€ Usage

DevTUI includes both a TUI and CLI interface.

๐Ÿ–ฅ TUI

Run devtui youโ€™ll see a list of available tools โ€” just pick one and go!

Autocompletion

Run a one of these commands depending on shell

devtui completion bash > ~/.bashrc
devtui completion zsh  > ~/.zshrc
devtui completion fish > ~/.fishrc

CLI (Experimental)

The CLI interface is still in development and may change in future versions.

To include all markdown files from the ./docs folder, use the following syntax:

find ./docs -name "*.md" -exec cat {} \;

๐ŸŽจ CSS Formatter

devtui cssfmt < testdata/bootstrap.min.css > output.css

Optional flags:

  -i, --indent int   spaces for indentation (default 2)
      --semicolon    always end rule with semicolon, even if not needed (default true)
  -t, --tab          use tabs for indentation

๐Ÿงผ CSS Minimizer

Strip unnecessary whitespace from CSS files:

devtui cssmin < input.css > output.min.css

๐Ÿ—‚ XML Formatter

devtui xmlfmt < testdata/input.xml > output.xml

Optional flags:

  -i, --indent string   Indent string for nested elements (default "  ")
  -n, --nested          Nested tags in comments
  -p, --prefix string   Each element begins on a new line and this prefix

๐Ÿ“ GraphQL Query Formatter

Format GraphQL queries:

devtui gqlfmt < testdata/query.graphql

devtui gqlfmt < testdata/query.graphql > formatted.graphql
devtui gqlfmt --indent "    " --with-comments --with-descriptions < testdata/query.graphql

Optional flags:

  -i, --indent string       Indent string for nested elements (default is 2 spaces) (default "  ")
  -c, --with-comments       Include comments in the formatted output
  -d, --with-descriptions   Include descriptions in the formatted output (omitted by default)

๐Ÿ—’๏ธ TSV to Markdown Table Converter

Convert TSV to Markdown Table:

devtui tsv2md -t < example.tsv          - convert tsv from stdin and view result in stdout

devtui tsv2md < example.tsv > output.md - convert tsv from stdin and write result in new file

cat example.tsv | devtui tsv2md         - convert tsv from stdin and view result in stdout

Optional flags:

  -a, --align           Align columns width
  -t --header string    Add main header (h1) to result

๐Ÿ—’๏ธ CSV to Markdown Table Converter

Convert CSV to Markdown Table:

devtui csv2md -t < example.csv          - convert csv from stdin and view result in stdout

devtui csv2md < example.csv > output.md - convert csv from stdin and write result in new file

cat example.csv | devtui csv2md         - convert csv from stdin and view result in stdout

Optional flags:

  -a, --align           Align columns width
  -t --header string    Add main header (h1) to result

๐Ÿ—’๏ธ TSV to CSV Converter

Convert TSV to CSV:

devtui tsv2csv < testdata/input.tsv > output.csv

Optional flags:

  -i, --indent string   Indent string for nested elements (default "  ")
  -n, --nested          Nested tags in comments
  -p, --prefix string   Each element begins on a new line and this prefix

๐Ÿง‘โ€๐Ÿ’ป Contact

I love when people reach out, so please donโ€™t hesitate to do that.