Convert Figma logo to code with AI

notwaldorf logotiny-care-terminal

💖💻 A little dashboard that tries to take care of you when you're using your terminal.

5,973
243
5,973
38

Top Related Projects

Browser extension for rendering an isometric pixel art version of your GitHub contribution graph.

16,146

The personal information dashboard for your terminal

🖥 📊 🕹 🛠 A curated list of command line apps

62,551

simple terminal UI for git commands

18,260

Render markdown on the CLI, with pizzazz! 💅🏻

Quick Overview

The tiny-care-terminal is a small command-line tool that displays various information such as weather, tweets, and git status in a terminal window. It is designed to provide a quick and easy way to stay informed about your day-to-day activities without having to switch between multiple applications.

Pros

  • Customizable: The tool allows users to customize the information displayed, including the location for weather data and the Twitter accounts to monitor.
  • Lightweight: The tool is lightweight and can be easily integrated into a user's existing terminal setup.
  • Cross-platform: The tool is designed to work on multiple operating systems, including macOS, Linux, and Windows.
  • Open-source: The tool is open-source, allowing users to contribute to its development and customize it to their needs.

Cons

  • Limited functionality: While the tool provides a useful set of features, it may not be suitable for users who require more advanced functionality or integration with other tools.
  • Dependency on external services: The tool relies on external services such as Twitter and weather APIs, which may be subject to changes or outages.
  • Learning curve: Users who are not familiar with command-line tools may find the setup and configuration process to be somewhat challenging.
  • Potential privacy concerns: The tool may collect and display personal information, such as tweets, which could raise privacy concerns for some users.

Code Examples

Since tiny-care-terminal is not a code library, there are no code examples to provide.

Getting Started

To get started with tiny-care-terminal, follow these steps:

  1. Install the tool using npm:

    npm install -g tiny-care-terminal
    
  2. Run the tool in your terminal:

    tiny-care
    
  3. The tool will display the following information:

    • Weather for your current location
    • Tweets from the accounts you have configured
    • Git status for the current directory
  4. To configure the tool, create a .tinycaretrc file in your home directory and add the following settings:

    export WEATHER_LOCATION="your_location"
    export TWITTER_HANDLES="handle1 handle2 handle3"
    

    Replace your_location with your desired location and handle1, handle2, and handle3 with the Twitter handles you want to monitor.

  5. Save the file and restart the tiny-care command.

That's it! You should now see the customized information in your terminal window.

Competitor Comparisons

Browser extension for rendering an isometric pixel art version of your GitHub contribution graph.

Pros of isometric-contributions

  • Visually appealing 3D representation of GitHub contributions
  • Provides a unique perspective on contribution patterns
  • Easy to integrate as a browser extension

Cons of isometric-contributions

  • Limited functionality beyond visualization
  • Lacks additional features for productivity or self-care
  • May not be as useful for daily workflow management

Code comparison

isometric-contributions:

function getContributionsFromSVG(svg) {
  return Array.from(svg.querySelectorAll('rect'))
    .map(rect => ({
      date: rect.getAttribute('data-date'),
      count: parseInt(rect.getAttribute('data-count'), 10)
    }));
}

tiny-care-terminal:

function getQuote() {
  return fetch(url)
    .then(res => res.json())
    .then(data => data.quote)
    .catch(() => 'Unable to fetch quote');
}

Summary

isometric-contributions focuses on providing a visually striking representation of GitHub contributions, offering a unique perspective on a user's activity. It excels in creating an engaging visual experience but lacks additional features for productivity or self-care.

tiny-care-terminal, on the other hand, is a more comprehensive tool that combines productivity tracking with self-care reminders and motivational content. It offers a broader range of features to support daily workflow management and personal well-being.

While isometric-contributions enhances the GitHub experience visually, tiny-care-terminal provides a more holistic approach to developer productivity and mental health.

16,146

The personal information dashboard for your terminal

Pros of WTF

  • More comprehensive dashboard with a wide range of modules for system monitoring, productivity, and information display
  • Highly customizable with support for custom modules and layouts
  • Active development and regular updates

Cons of WTF

  • Steeper learning curve due to its complexity and extensive configuration options
  • Requires more system resources compared to the lightweight Tiny Care Terminal
  • May be overwhelming for users seeking a simple, focused self-care tool

Code Comparison

Tiny Care Terminal configuration:

module.exports = {
  // ...
  twitterBot: 'tinycarebot',
  manicTime: false,
  // ...
};

WTF configuration:

wtf:
  colors:
    border:
      focusable: darkslateblue
      focused: orange
      normal: gray
  grid:
    columns: [40, 40]
    rows: [13, 13, 4]
  refreshInterval: 1

Summary

Tiny Care Terminal is a lightweight, focused self-care tool that provides simple reminders and encouragement. WTF offers a more comprehensive dashboard with extensive customization options, making it suitable for users who want a feature-rich terminal-based information display. While WTF provides more functionality, it comes at the cost of increased complexity and resource usage compared to the simpler Tiny Care Terminal.

🖥 📊 🕹 🛠 A curated list of command line apps

Pros of awesome-cli-apps

  • Comprehensive collection of CLI apps across various categories
  • Regularly updated with new additions and community contributions
  • Serves as a valuable resource for discovering new and useful CLI tools

Cons of awesome-cli-apps

  • Not a standalone application, just a curated list of other apps
  • Requires users to individually install and configure each tool
  • May overwhelm users with too many options

Code comparison

While a direct code comparison isn't relevant in this case, we can look at how users might interact with each repository:

tiny-care-terminal:

npm install -g tiny-care-terminal
tiny-care-terminal

awesome-cli-apps:

git clone https://github.com/agarrharr/awesome-cli-apps.git
cd awesome-cli-apps
# Browse the README.md file for interesting CLI apps

Summary

tiny-care-terminal is a focused, self-contained application designed to provide a caring and motivational terminal experience. It offers a specific set of features aimed at developer well-being.

awesome-cli-apps, on the other hand, is a curated list of various CLI applications. It serves as a comprehensive resource for discovering and exploring a wide range of command-line tools across different categories.

While tiny-care-terminal provides an immediate, ready-to-use experience, awesome-cli-apps offers a broader scope of options but requires more effort from users to explore and set up individual tools.

62,551

simple terminal UI for git commands

Pros of lazygit

  • More comprehensive Git functionality, including branch management, staging, and commit history visualization
  • Interactive TUI (Text User Interface) for easier navigation and Git operations
  • Actively maintained with frequent updates and new features

Cons of lazygit

  • Steeper learning curve due to more complex features and interface
  • Focused solely on Git functionality, lacking the wellness and self-care aspects of tiny-care-terminal
  • Requires more system resources to run compared to the lightweight tiny-care-terminal

Code comparison

tiny-care-terminal:

const config = {
  // ...
  twitterBot: 'tinycarebot',
  manicTime: false,
  // ...
};

lazygit:

type AppConfig struct {
	// ...
	Git struct {
		AutoFetch              bool `long:"autofetch" env:"LG_AUTOFETCH"`
		DisableForcePushing    bool `long:"disable-force-pushing" env:"LG_DISABLE_FORCE_PUSHING"`
		// ...
	}
	// ...
}

The code snippets show configuration structures for both projects. tiny-care-terminal uses a simple JavaScript object for configuration, while lazygit employs a more complex Go struct with nested configurations for different features.

18,260

Render markdown on the CLI, with pizzazz! 💅🏻

Pros of Glow

  • Renders Markdown files with syntax highlighting and formatting
  • Supports multiple themes and customization options
  • Can be used as a standalone CLI tool or integrated into other applications

Cons of Glow

  • Focused solely on Markdown rendering, lacks additional features like motivation quotes or weather information
  • May have a steeper learning curve for users unfamiliar with terminal-based Markdown viewers

Code Comparison

Tiny-care-terminal:

const config = require('./config');
const twitterBot = require('./bots/twitter');
const gitbot = require('./bots/git');
const weatherbot = require('./bots/weather');

Glow:

func (r *MarkdownRenderer) Write(p []byte) (n int, err error) {
    r.source = append(r.source, p...)
    return len(p), nil
}

Summary

Glow is a specialized Markdown rendering tool for the terminal, offering advanced formatting and customization options. Tiny-care-terminal, on the other hand, is a more comprehensive dashboard-like application that includes various features such as motivation quotes, weather information, and Git statistics. While Glow excels in Markdown rendering, Tiny-care-terminal provides a broader range of information and functionality for developers looking for a motivational and informative terminal experience.

Convert Figma logo designs to code with AI

Visual Copilot

Introducing Visual Copilot: A new AI model to turn Figma designs to high quality code using your components.

Try Visual Copilot

README

tiny-care-terminal

This is a little dashboard that tries to take care of you when you're using your terminal. It tells you cute, self care things, and tries not to stress you out. It shows:

  • the last tweets from @tinycarebot, @selfcare_bot and @magicrealismbot. The first two tend to tweet reminders about taking breaks, drinking water and looking outside, and the latter tells you strange, whimsical stories. If you don't like these bots, they're configurable!
  • your git commits from today and the last 7 days. When I get stressed out because I think I haven't done anything, it turns out that I only think about big and serious commits, and forget about all the tiny amounts of work I've actually done throughout. Hopefully this will help you too <3
  • the weather, because you might get rained on.

It looks like this, and updates every 20 minutes.

tiny terminal care screenshot

Make it go

1. Installation

Sadly only node.js v10.x is supported at the moment.

npm install -g tiny-care-terminal

(yarn also works fine.)

2. Setting the environment variables

After installing the npm package, you need to set up the configuration in your Terminal.

Every OS and shell is different so I probably won't hit all of them, but the bottom line is that you should copy those environment variables wherever the rest of your system's variables live. For example,

  • if you're using zsh, that's probably in your home directory's .zshrc file
  • if you're using bash, that could be your bash_profile file
  • if you're using fish, use set -gx key value in your ~/.config/fish/config.fish file

Note that the export bit is pretty key, to make sure that they are globally available. To check that the variables have been set correctly, you can print them in the terminal -- for example, echo $TTC_WEATHER.

Configure the dashboard

All the settings the dashboard looks at are in the sample file sample.env. This file isn't used by the dashboard, it just lists the environment variables that you can copy in your rc files:

  • TTC_BOTS are the 3 twitter bots to check, comma separated. The first entry in this list will be displayed in the big party parrot box.
  • TTC_SAY_BOX defines the ASCII-Art to show. e.g. parrot | bunny | llama | cat | yeoman | mario | ironman.ansi | stegosaurus.cow See section below for all the different options.
  • TTC_REPOS, a comma separated list of repos to look at for git commits.
  • TTC_REPOS_DEPTH is the max directory-depth to look for git repositories in the directories defined with TTC_REPOS (by default 1). Note that the deeper the directory depth, the slower the results will be fetched. Seeing your commits in tiny-terminal-care, set this to gitlog
  • TTC_WEATHER, the location to check the weather for. A zipcode doesn't always work, so if you can, use a location first (so prefer Paris over 90210)
  • TTC_CELSIUS (by default true)
  • TTC_APIKEYS -- set this to false if you don't want to use Twitter API keys and want to scrape the tweets instead.
  • TTC_UPDATE_INTERVAL, set this to change the update frequency in minutes, default is 20 minutes.
  • TTC_TERMINAL_TITLE -- set this to false if you don't want the terminal title to be changed on startup.
Configure the Say-box

There are almost endless variation of ASCII art images supported. You can select an existing image from the cowsay library just by defining a filename ending with ".cow". So e.g. vader.cow or bunny.cow would be two possible options. Also the ansi-art library is supported. In addition to the existing colorful images you can create your own image by using the webapp and download the result. After downloading the ANSI-File you can just supply its absolute path to render it within the box. (eg: TTC_SAY_BOX='/Users/om/desktop/cat.ansi'). If you want the art to be selected by random use the magic word RANDOM.

In addition to this libraries the following types are supported: bunny, llama, cat, yeoman

Set up Twitter API keys

The dashboard has two alternatives for reading tweets: using your API keys or scraping. API keys is preferred (because lol scraping), but if you're really not into that, then skip the next section and read the bit about setting TTC_APIKEYS

You need Twitter API keys for the tweets to work. It should be pretty easy to create a new app, and get these 4 values. After you've set them up, set these env variables (see the sample.env for an example):

TTC_CONSUMER_KEY='...'
TTC_CONSUMER_SECRET='...'
TTC_ACCESS_TOKEN='...'
TTC_ACCESS_TOKEN_SECRET='...'

3. Start

tiny-care-terminal

You can exit the dashboard by pressing esc or q. You can refresh it manually by pressing r.

🍅 Pomodoro Mode

You can press p to switch parrot box to pomodoro mode.

Other commands while in pomodoro mode:

s - start/pause/resume pomodoro
e - stop pomodoro
u - update pomodoro duration
b - update break time

To change default pomodoro and break durations set following variables in minutes (these should be numbers):

TTC_POMODORO=...
TTC_BREAK=...

🆘 Halp I don't see my commits

  • did you forget to export your TTC_REPOS environment variable? Open a new tab, and type echo $TTC_REPOS to make sure it's not empty. Note that spaces inside the repo names are not supported right now 😥

  • also there seem to be problems sometimes if the paths you're using are not fully qualified -- that is, use /Users/notwaldorf/Code rather than ~/Code and see if that helps.

  • did you use yarn? I know yarn is cool, and I've seen it work with this, but can you double check that it still doesn't work with a basic npm installation instead?

    Take care of yourself, ok? 💖

NPM DownloadsLast 30 Days