Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


A Console User Interface


Table of Contents

  1. Installation
  2. Usage
  3. Todo



To compile and run

  • Clone this repo
    git clone
    cd devRant_CUI
  • Install Dependancies
    go get
    go get
  • Run main.go
    go run main.go
  • Build and Run
    go build
  • Install
    go install




This can run on most terminals (not tried many), but has some limitations on Windows Command Prompt when resizing. It can run on Command Prompt, but for Windows use Cmder, Hyper, etc.; for a better experience.



UI consists of 6 Views, 3 of which are editable.
The main view on left, logo, and output display are not interactive.
The Input window is the main interactive View.
The Sort window is used to set the sort method for fetching rants.
The Limit window is used to set number of rants to display.


  • Sort
    It can take only three inputs: "algo", "recent", "top"
    Any other input will not be accepted
    "algo" is the default sort method

    • To change, just type and press Enter
  • Limit
    It can take any int input
    Default value is 5

    • To change, just type and press Enter
  • Input
    It is a dummy terminal with commands to run the CUI


It will only accept input after ":/ >", sometimes it can break. Please try to keep inputs after ":/ >" until I can fix this.
Always keep the cursor at the end of text input


  • help
    This command displays the help, very useful for first timers.
  • rants
    This command fetched rants using the Sort and prints them.
    It fetches 20 at a time, but prints only the Limit specified.
  • next or :n
    This command is used to go to next, i.e next page of list.
    This command prints the next rants, but prints only the limited number.
    This command will auto fetch rants, or specifies if end of section to fetch something else.
    Can be used after 'rants', 'stories', 'weekly', 'search', and 'collabs'
  • rant {int}
    This command is used to open a rant.
    It need a number, the number is shown before a rant, example ">>0".
  • comment or :c
    This command will open a box to view comments of a rant.
    It displays 1 comment at a time.
    To cycle between comments use the down arrow (⬇) and up arrow (⬆) keys.
    To close the comments box, press the right arrow (➡)
  • :m
    This command can be used for long rants, it switchs the focus to main view, where you can scroll.
    In the main view you can scroll down or up using the down arrow (⬇) and up arrow (⬆) keys.
    To switch to Input view, press the right arrow (➡)
  • image or img or :i
    This command can be used to open the attached image in the rant, on the device default browser.
  • back or cd ..
    This command is used to go back to the rants view after opening a rant.
  • profile {username}
    This command will fetch the user info and print it.
    If there is an error, it will be shown in the output view above the input window.
  • search {term}
    This command will search for the term on, fetch, and print the search result, i.e the rants.
  • weekly
    This command will fetch the rants posted today, and tagged weekly topic, i.e 'wk-00'.
  • collabs
    This command will fetch the collabs and print them.
  • stories
    This command will fetch and print stories.
    For this, keep the limit small as stories are quiet long, and not many can fit.
  • exit or :q
    This command can be used to call exit, but exit won't close the program.
    For the vim lovers of devRant :q is also available.
    To close "Ctrl + C" is used.
  • clear
    This will clear the input and output views.
  • clean
    This will clean the main view.


  • Option to view all comments
  • Improve the input terminal
  • Add option to view content of user
  • Refactor Code (split between UI and logic)


Any and all criticism are appreciated.

If you try this and find any bug, suggestion, or feature.
Feel free to contact me.