Skip to content

SimpleLittleDev/FastCode

Repository files navigation

⚡ FastCode

A colorful, fast, terminal-first AI coding assistant.

Multi-LLM chat • OAuth • Web fetch • Images • Agent Skills • Plugins • Sandboxed coding tools • Termux-ready

Node npm License Termux

npm install -g @simplelittledev/fastcode
fastcode

Short alias:

fc

🌈 What Is FastCode?

FastCode is a terminal-first AI coding assistant. It supports Anthropic, OpenAI, Sign in with ChatGPT/Codex, Google Gemini, OpenRouter, Groq, DeepSeek, Mistral, and Ollama. It ships with slash commands, web fetch, shell helpers, image attachments, Agent Skills, plugin packs, and a sandboxed coding-agent mode.

It runs on Linux, macOS, Windows, and Android through Termux.


✨ Highlights

Feature What You Get
🎨 Smooth TUI Responsive status bar, hidden banner during chat, Termux stable UI
🤖 Multi-provider Anthropic, OpenAI, Gemini, OpenRouter, Groq, DeepSeek, Mistral, Ollama
🔐 OAuth Claude Code OAuth and ChatGPT/Codex OAuth via PKCE
🌐 Web + Shell /web fetches pages, /sh runs local commands
🖼️ Images /img and drag-and-drop image attachments
🧠 Agent Skills Install and enable SKILL.md workflows
🧩 Plugins Import always-active plugin packs with bundled skills
🛠️ Coding Agent Shell, file editing, grep, patching, and sandboxed local tools

🚀 Install

npm install -g @simplelittledev/fastcode
fastcode

Run without installing globally:

npx @simplelittledev/fastcode

Start with a prompt:

fastcode "explain this repository"

🔑 Login

Use environment variables:

export ANTHROPIC_API_KEY="sk-ant-..."
export OPENAI_API_KEY="sk-..."
export OPENROUTER_API_KEY="sk-or-..."

Or save a key inside FastCode:

/login openai sk-...
/login anthropic sk-ant-...

OAuth-supported providers can sign in with:

/login anthropic --oauth
/login openai --oauth

🧩 Providers

Provider Default Model Auth
anthropic claude-3-5-sonnet-latest ANTHROPIC_API_KEY, CLAUDE_API_KEY, or OAuth
openai gpt-4o-mini OPENAI_API_KEY or ChatGPT/Codex OAuth
google gemini-1.5-flash GEMINI_API_KEY or GOOGLE_API_KEY
openrouter anthropic/claude-3.5-sonnet OPENROUTER_API_KEY
groq llama-3.3-70b-versatile GROQ_API_KEY
deepseek deepseek-chat DEEPSEEK_API_KEY
mistral mistral-small-latest MISTRAL_API_KEY
ollama llama3.2 Local, no API key required

Switch anytime:

/provider ollama
/model qwen2.5-coder:7b

🛠️ Coding Agent

Agent mode is enabled by default and works with any provider, including local Ollama models. The model can request local tools through FastCode's universal text tool protocol.

/agent status
/agent on
/agent off
/tools
/cwd

Available tools:

shell, pwd, read_file, read_many, write_file, append_file, apply_patch,
replace_in_file, list_files, grep, stat_path, make_dir, copy_file,
move_path, delete_file

Tools run inside a sandbox rooted at the directory where you start FastCode. File tools cannot access paths outside that root. Shell commands run with:

FASTCODE_SANDBOX=1
FASTCODE_SANDBOX_ROOT=<current-working-directory>

Example:

cd ~/my-project
fastcode "run the tests, find the failing file, patch it, and verify the fix"

🪄 Agent Skills

FastCode supports Anthropic-style Agent Skills.

/skills search pdf
/skills install pdf
/skills install anthropics/skills/pdf
/skills install https://example.com/my-skill/SKILL.md
/skills enable pdf
/skills list
/skills info pdf

Installed skills live under:

~/.fastcode/skills/<name>/SKILL.md

🧩 Plugins

Plugins are always-active behavior packs. A plugin folder can contain:

my-plugin/
├── PLUGIN.md
└── skills/
    └── reviewer/
        └── SKILL.md

Manage plugins:

/plugin import ./my-plugin reviewer
/plugin list
/plugin info reviewer
/plugin disable reviewer
/plugin enable reviewer
/plugin remove reviewer

Installed plugins live under:

~/.fastcode/plugins/

🖼️ Image Attachments

Attach images with:

/img /path/to/photo.png
/img list
/img clear

You can also drag and drop a file into terminals that paste dropped paths. On Termux, run termux-setup-storage first and use paths under /storage/emulated/0/....

Vision-capable providers receive images as multimodal content blocks. Text-only models ignore the attachment.


🎮 Slash Commands

Command Action
/help Show command list
/agent [on/off/status] Toggle local coding-agent tools
/tools Show available coding tools
/cwd Show agent sandbox root
/plugin ... Import and manage always-active plugin packs
/provider [id] List or switch provider
/model [id] List or switch model
/login <provider> <key> Save API key
/login <provider> --oauth Sign in via Claude Code or ChatGPT OAuth
/logout <provider> Remove API key and cached OAuth tokens
/web <url> Fetch a page and inject text into chat
/sh <cmd> Run a local shell command
/img <path> Attach an image to the next message
/skills ... Search, install, enable, disable, list skills
/theme [id] Switch theme
/cost Show token and cost usage
/system [text] Show or update system prompt
/whoami Show configured provider keys
/config Print config and paths
/clear Clear conversation
/reset Reset config
/about Show version and platform
/exit Quit

Keyboard controls:

Esc       cancel streaming
Ctrl+C    press twice to quit

🎨 Themes

/theme fastcode
/theme neon
/theme sunset
/theme matrix
/theme mono

Termux enables stable UI automatically. You can force it anywhere:

FASTCODE_STABLE_UI=1 fastcode

📱 Termux

pkg install nodejs
npm install -g @simplelittledev/fastcode
fastcode

If the command is not found:

npm bin -g
echo "$PATH"

FastCode stores state under:

~/.fastcode/
├── config.json
├── auth.json
├── skills/
├── plugins/
├── cache/
├── sessions/
└── logs/

Override the root:

FASTCODE_HOME=/path/to/fastcode fastcode

🛠️ Development

git clone https://github.com/SimpleLittleDev/FastCode
cd FastCode
npm install
npm run dev

Quality gate:

npm run check

Run the built CLI:

node ./bin/fastcode.mjs

📦 Publish

npm publish --access public

The package exposes:

{
  "bin": {
    "fastcode": "./bin/fastcode.mjs",
    "fc": "./bin/fastcode.mjs"
  }
}

📜 License

MIT © SimpleLittleDev

About

No description, website, or topics provided.

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors