2 unstable releases

0.2.0 Jan 16, 2024
0.1.0 Apr 2, 2022

#1461 in Command line utilities

MIT license

18KB
421 lines

akc

A command-line tool for managing connections with friends.

This is still a work in progress. There may be lots of unexpected behaviors when you use it.

Table of contents

History

akc is an acronym for "aji, ki, and chi". But what do those words mean?
They are terms some of my teammates and colleagues at the company use to refer to a friend with a specific level of closeness. An aji is a very close friend. Then comes a ki and finally a chi, indicating a close and normal friend, respectively.

Note: In Persian, aji means sister (my teammates and colleagues who invented the terms are girls, so they used aji instead of male equivalent "dada", meaning brother in Persian), ki means who, and chi means what.

Installation

You can download the executable for your platform in the releases page. In addition, if you have rust installed, you can install akc through cargo:

cargo install akc

Usage

akc works by keeping your friends' names, suggesting you connect them based on their closeness. The closer and less suggested by akc they are, the more chance akc suggests you connect them. It's that simple.

By default, there are 3 levels of closeness as described in history, called aji (very close), ki (close), and chi (normal). In addition, there are 4 default connection methods: Hanging out, video call, call and text. These don't have an equal effect on the chance of the same friend being suggested again. If you hang out with a friend, akc will probably re-suggest him/her with far less probability than if you texted him/her. In other words, hanging out, video call, call, and text have the highest to lowest cost respectively.

Adding friends

akc friend aji Negar # Add an aji called Negar
akc friend ki Arash # Add a ki called Arash
akc friend chi Sara # Add a chi called Sara

Get suggestion for connection

akc suggest # Suggest you a friend to connect with

Record a memory with a friend

akc memory hangout Negar Sara # Record a hangout with Negar and Sara
akc memory video-call Arash # Record a video call with Arash
akc memory call Arash # Record a call with Arash
akc memory text Sara # Record a call with Arash

TODO

  • Add connection constraints
  • Add a feature for changing defaults
  • Add commands for listing friends and their connection status

Dependencies

~2.3–3.5MB
~59K SLoC