@tukuyomil032/stela
v0.0.3
Published
A TypeScript-based CLI that lets you view a list of repositories you've starred, unstar them, and search for repositories using a wide range of criteria—such as language, genre, and keyword matches—to find new ones to star.
Downloads
338
Maintainers
Readme
stela
Manage your GitHub starred repositories from the terminal.
Browse, filter, star, unstar, and search GitHub repositories — all without leaving your terminal. Stela provides an interactive TUI with fuzzy selection, language filtering, and clipboard/browser integration, backed by a local cache for fast repeated queries.
Features
- Interactive list — paginated fuzzy picker with multi-select; open in browser or copy URL directly
- Star & unstar — star any
owner/repoor GitHub URL; bulk-unstar from the interactive list - Search — query GitHub with full search syntax, filter by language, and star results interactively
- Caching — JSON cache with configurable TTL so repeated
listcalls are instant - Language breakdown — color-coded language stats using GitHub Linguist colors
- i18n — English and Japanese UI (
config set lang ja) - No token storage — authentication delegates to the
ghCLI; no credentials ever written to disk
Prerequisites
- Node.js 20+
ghCLI installed and authenticated (gh auth login)
Installation
npm install -g @tukuyomil032/stelaQuick Start
# Browse your starred repos interactively
stela list
# Filter by language
stela list --lang typescript
# Search GitHub and star results
stela search "awesome cli tools" --lang goCommands
stela list
Browse your starred repositories in an interactive picker.
stela list [options]
Options:
--lang <language> Filter by programming language
--sort <field> Sort by: stars | updated (default: stars)
--refresh Bypass cache and fetch from GitHub API
--no-interactive Print as a plain table (useful for scripts)From the interactive picker you can:
- Open a repository in your browser
- Copy the URL to clipboard
- Unstar one or more repositories
stela star
Star a repository by owner/repo slug or GitHub URL.
stela star cli/cli
stela star https://github.com/cli/clistela unstar
Remove a star from a repository.
stela unstar cli/cli # prompts for confirmation
stela unstar cli/cli -y # skip confirmationstela search
Search GitHub and interactively star results.
stela search [query] [options]
Options:
--lang <language> Filter results by language
--sort <field> Sort by: stars | forks | updated (default: stars)
--limit <n> Number of results (max 100, default 30)
--no-interactive Print table only; no starring via pipesstela search "react state management" --lang typescript --limit 10
stela search --no-interactive "rust cli" | head -5stela cache
Inspect or clear the local starred-repo cache.
stela cache status # show timestamp, TTL remaining, and repo count
stela cache clear # delete the cache filestela config
View and edit persistent settings.
stela config show
stela config set <key> <value>| Key | Type | Default | Description |
|-----|------|---------|-------------|
| cacheTTL | number (minutes) | 30 | How long the cache is considered fresh |
| pageSize | number | 30 | Items shown per page in interactive mode |
| defaultLanguageFilter | string[] | [] | Language pre-filter applied to list |
| lang | en | ja | en | UI language |
stela config set cacheTTL 60
stela config set lang ja
stela config set pageSize 50Non-interactive Mode
All commands that produce output support --no-interactive for use in scripts or pipes. In this mode no prompts are shown and no side effects (starring/unstarring) are performed.
stela list --no-interactive --lang rust | grep "tokio"Global Options
--no-interactive Output as plain table
--no-color Disable colored output (also respects NO_COLOR env var)
--version Show version number
--help Show helpDevelopment
# Install dependencies
bun install
# Run in development mode
bun run dev
# Type-check
bun run typecheck
# Lint and format
bun run biome:fix
# Build
bun run build[!NOTE] The
ghCLI must be authenticated for development. Rungh auth loginif you haven't already.
How It Works
Stela uses the GitHub REST API via native fetch — no Octokit or other GitHub SDK. Authentication is handled dynamically by calling gh auth token at runtime, so no credentials are stored on disk. Starred repositories are cached at ~/.stela/cache/starred.json with a configurable TTL (default 30 minutes).
License
MIT
