feat: add AI tools category, universal npm/custom installs, and update UI with app notes ref #40

This commit is contained in:
N1C4T
2026-03-26 15:14:25 +04:00
parent 1f85b14445
commit d2094f4ebc
13 changed files with 651 additions and 323 deletions

128
src/lib/apps/ai-tools.json Normal file
View File

@@ -0,0 +1,128 @@
[
{
"id": "opencode",
"name": "OpenCode",
"description": "AI-powered coding platform and environment",
"category": "AI Tools",
"targets": {
"homebrew": "opencode",
"arch": "opencode",
"nix": "opencode",
"script": "curl -fsSL https://opencode.ai/install | bash"
},
"note": "Falls back to official installer (opencode.ai/install) on distros without a native package.",
"icon": {
"type": "iconify",
"set": "mdi",
"name": "code-braces",
"color": "#3B82F6"
}
},
{
"id": "codex",
"name": "OpenAI Codex",
"description": "AI model that parses natural language and generates code",
"category": "AI Tools",
"targets": {
"npm": "@openai/codex",
"homebrew": "codex",
"nix": "codex"
},
"note": "Requires Node.js runtime. Installed globally via npm where native packages are unavailable.",
"icon": {
"type": "iconify",
"set": "simple-icons",
"name": "openai",
"color": "#412991"
}
},
{
"id": "gemini-cli",
"name": "Gemini CLI",
"description": "Command-line interface for Google's Gemini API",
"category": "AI Tools",
"targets": {
"npm": "@google/gemini-cli",
"homebrew": "gemini-cli",
"nix": "gemini-cli"
},
"note": "Requires Node.js runtime. Installed globally via npm where native packages are unavailable.",
"icon": {
"type": "iconify",
"set": "simple-icons",
"name": "googlegemini",
"color": "#8E75B2"
}
},
{
"id": "claude-code",
"name": "Claude Code",
"description": "Anthropic's official CLI tool for Claude",
"category": "AI Tools",
"targets": {
"homebrew": "--cask claude-code",
"nix": "claude-code",
"script": "curl -fsSL https://claude.ai/install.sh | bash"
},
"note": "Uses official installer script (claude.ai/install.sh) on Linux distros without a native package.",
"icon": {
"type": "iconify",
"set": "simple-icons",
"name": "anthropic",
"color": "#D97757"
}
},
{
"id": "ollama",
"name": "Ollama",
"description": "Get up and running with large language models locally",
"category": "AI Tools",
"targets": {
"fedora": "ollama",
"opensuse": "ollama",
"arch": "ollama",
"nix": "ollama",
"homebrew": "ollama",
"script": "curl -fsSL https://ollama.com/install.sh | sh"
},
"note": "Falls back to official installer (ollama.com/install.sh) on distros without a native package.",
"icon": {
"type": "url",
"url": "https://ollama.com/public/icon-64x64.png"
}
},
{
"id": "llama-cpp",
"name": "llama.cpp",
"description": "Inference of LLaMA model in pure C/C++",
"category": "AI Tools",
"targets": {
"nix": "llama-cpp",
"homebrew": "llama.cpp"
},
"unavailableReason": "Available via [brew or nix](https://github.com/ggml-org/llama.cpp/blob/master/docs/install.md), [Docker](https://github.com/ggml-org/llama.cpp/blob/master/docs/docker.md), pre-built [releases](https://github.com/ggml-org/llama.cpp/releases), or [build from source](https://github.com/ggml-org/llama.cpp/blob/master/docs/build.md).",
"icon": {
"type": "iconify",
"set": "mdi",
"name": "head-cog",
"color": "#64748B"
}
},
{
"id": "jan",
"name": "Jan",
"description": "Open-source ChatGPT-alternative that runs locally offline",
"category": "AI Tools",
"targets": {
"arch": "jan-bin",
"nix": "jan",
"homebrew": "--cask jan",
"flatpak": "ai.jan.Jan"
},
"unavailableReason": "Not in most official repos. Use [flatpak](https://flathub.org/en/apps/ai.jan.Jan) or Download AppImage or .deb package from [jan.ai/download](https://jan.ai/download).",
"icon": {
"type": "url",
"url": "https://www.jan.ai/_next/static/media/logo-jan.db83c5f0.svg"
}
}
]

View File

@@ -1,4 +1,22 @@
[
{
"id": "cursor",
"name": "Cursor",
"description": "AI-powered code editor based on VS Code",
"category": "Dev: Editors",
"targets": {
"arch": "cursor-bin",
"nix": "code-cursor",
"homebrew": "--cask cursor"
},
"unavailableReason": "Only available via [AUR](https://aur.archlinux.org/packages/cursor-bin) or Nix. Download from [cursor.com/download](https://cursor.com/download).",
"icon": {
"type": "iconify",
"set": "simple-icons",
"name": "cursor",
"color": "#232020ff"
}
},
{
"id": "vscode",
"name": "VS Code",
@@ -38,97 +56,6 @@
"color": "#2F80ED"
}
},
{
"id": "vim",
"name": "Vim",
"description": "The classic modal text editor that started it all",
"category": "Dev: Editors",
"targets": {
"ubuntu": "vim",
"debian": "vim",
"arch": "vim",
"fedora": "vim-enhanced",
"opensuse": "vim",
"nix": "vim",
"flatpak": "org.vim.Vim",
"snap": "vim-editor",
"homebrew": "vim"
},
"icon": {
"type": "iconify",
"set": "simple-icons",
"name": "vim",
"color": "#019733"
}
},
{
"id": "neovim",
"name": "Neovim",
"description": "Modernized Vim with better extensibility",
"category": "Dev: Editors",
"targets": {
"ubuntu": "neovim",
"debian": "neovim",
"arch": "neovim",
"fedora": "neovim",
"opensuse": "neovim",
"nix": "neovim",
"flatpak": "com.neovim.Neovim",
"snap": "nvim --classic",
"homebrew": "neovim"
},
"icon": {
"type": "iconify",
"set": "simple-icons",
"name": "neovim",
"color": "#57A143"
}
},
{
"id": "helix",
"name": "Helix",
"description": "Modal editor with LSP and tree-sitter built-in",
"category": "Dev: Editors",
"targets": {
"arch": "helix",
"fedora": "helix",
"opensuse": "helix",
"nix": "helix",
"flatpak": "com.helix-editor.Helix",
"snap": "helix --classic",
"homebrew": "helix"
},
"unavailableReason": "Not in official Debian/Ubuntu repos. For Ubuntu, add the PPA: `sudo add-apt-repository ppa:maveonair/helix-editor && sudo apt update && sudo apt install helix`. For Debian, download .deb from [GitHub releases](https://github.com/helix-editor/helix/releases).",
"icon": {
"type": "iconify",
"set": "mdi",
"name": "dna",
"color": "#4E2F7F"
}
},
{
"id": "micro",
"name": "Micro",
"description": "Easy-to-use terminal text editor like nano",
"category": "Dev: Editors",
"targets": {
"arch": "micro",
"ubuntu": "micro",
"debian": "micro",
"fedora": "micro",
"opensuse": "micro-editor",
"nix": "micro-editor",
"flatpak": "io.github.zyedidia.micro",
"snap": "micro --classic",
"homebrew": "micro"
},
"icon": {
"type": "iconify",
"set": "simple-icons",
"name": "microeditor",
"color": "#2E3192"
}
},
{
"id": "zed",
"name": "Zed",
@@ -148,134 +75,6 @@
"color": "#084CCF"
}
},
{
"id": "sublime",
"name": "Sublime Text",
"description": "Lightning-fast proprietary text editor",
"category": "Dev: Editors",
"targets": {
"arch": "sublime-text-4",
"nix": "sublime",
"flatpak": "com.sublimetext.three",
"snap": "sublime-text --classic",
"homebrew": "--cask sublime-text"
},
"unavailableReason": "Not in official repos. Use [Flatpak](https://flathub.org/en/apps/com.sublimetext.three)/[Snap](https://snapcraft.io/sublime-text) or follow instructions at [sublimetext.com/docs/linux_repositories](https://www.sublimetext.com/docs/linux_repositories.html).",
"icon": {
"type": "iconify",
"set": "simple-icons",
"name": "sublimetext",
"color": "#FF9800"
}
},
{
"id": "arduino",
"name": "Arduino IDE",
"description": "IDE for Arduino microcontroller development",
"category": "Dev: Editors",
"targets": {
"ubuntu": "arduino",
"debian": "arduino",
"arch": "arduino",
"fedora": "arduino",
"nix": "arduino-ide",
"flatpak": "cc.arduino.IDE2",
"snap": "arduino",
"homebrew": "--cask arduino-ide"
},
"unavailableReason": "Arduino IDE is not in official openSUSE repos. Use [Flatpak](https://flathub.org/en/apps/cc.arduino.IDE2) or [Snap](https://snapcraft.io/arduino) instead.",
"icon": {
"type": "iconify",
"set": "simple-icons",
"name": "arduino",
"color": "#00878F"
}
},
{
"id": "cursor",
"name": "Cursor",
"description": "AI-powered code editor based on VS Code",
"category": "Dev: Editors",
"targets": {
"arch": "cursor-bin",
"nix": "code-cursor",
"homebrew": "--cask cursor"
},
"unavailableReason": "Only available via [AUR](https://aur.archlinux.org/packages/cursor-bin) or Nix. Download from [cursor.com/download](https://cursor.com/download).",
"icon": {
"type": "iconify",
"set": "simple-icons",
"name": "cursor",
"color": "#232020ff"
}
},
{
"id": "kate",
"name": "Kate",
"description": "Feature-rich text editor by KDE with syntax highlighting",
"category": "Dev: Editors",
"targets": {
"ubuntu": "kate",
"debian": "kate",
"arch": "kate",
"fedora": "kate",
"opensuse": "kate",
"nix": "kdePackages.kate",
"flatpak": "org.kde.kate",
"snap": "kate --classic",
"homebrew": "--cask kate"
},
"icon": {
"type": "iconify",
"set": "simple-icons",
"name": "kde",
"color": "#1D99F3"
}
},
{
"id": "emacs",
"name": "Emacs",
"description": "Extensible, customizable, free/libre text editor",
"category": "Dev: Editors",
"targets": {
"ubuntu": "emacs",
"debian": "emacs",
"arch": "emacs",
"fedora": "emacs",
"opensuse": "emacs",
"nix": "emacs",
"flatpak": "org.gnu.emacs",
"snap": "emacs --classic",
"homebrew": "--cask emacs-app"
},
"icon": {
"type": "iconify",
"set": "simple-icons",
"name": "gnuemacs",
"color": "#7F5AB6"
}
},
{
"id": "geany",
"name": "Geany",
"description": "Fast and lightweight IDE",
"category": "Dev: Editors",
"targets": {
"ubuntu": "geany",
"debian": "geany",
"arch": "geany",
"fedora": "geany",
"opensuse": "geany",
"nix": "geany",
"flatpak": "org.geany.Geany",
"homebrew": "--cask geany"
},
"unavailableReason": "Snap is unmaintained, download from [Geany](https://www.geany.org/download/releases/) or use [Flatpak](https://flathub.org/en/apps/org.geany.Geany).",
"icon": {
"type": "url",
"url": "https://www.geany.org/static/img/geany.svg"
}
},
{
"id": "intellij-idea",
"name": "Intellij IDEA",
@@ -332,5 +131,206 @@
"set": "logos",
"name": "clion"
}
},
{
"id": "arduino",
"name": "Arduino IDE",
"description": "IDE for Arduino microcontroller development",
"category": "Dev: Editors",
"targets": {
"ubuntu": "arduino",
"debian": "arduino",
"arch": "arduino",
"fedora": "arduino",
"nix": "arduino-ide",
"flatpak": "cc.arduino.IDE2",
"snap": "arduino",
"homebrew": "--cask arduino-ide"
},
"unavailableReason": "Arduino IDE is not in official openSUSE repos. Use [Flatpak](https://flathub.org/en/apps/cc.arduino.IDE2) or [Snap](https://snapcraft.io/arduino) instead.",
"icon": {
"type": "iconify",
"set": "simple-icons",
"name": "arduino",
"color": "#00878F"
}
},
{
"id": "sublime",
"name": "Sublime Text",
"description": "Lightning-fast proprietary text editor",
"category": "Dev: Editors",
"targets": {
"arch": "sublime-text-4",
"nix": "sublime",
"flatpak": "com.sublimetext.three",
"snap": "sublime-text --classic",
"homebrew": "--cask sublime-text"
},
"unavailableReason": "Not in official repos. Use [Flatpak](https://flathub.org/en/apps/com.sublimetext.three)/[Snap](https://snapcraft.io/sublime-text) or follow instructions at [sublimetext.com/docs/linux_repositories](https://www.sublimetext.com/docs/linux_repositories.html).",
"icon": {
"type": "iconify",
"set": "simple-icons",
"name": "sublimetext",
"color": "#FF9800"
}
},
{
"id": "kate",
"name": "Kate",
"description": "Feature-rich text editor by KDE with syntax highlighting",
"category": "Dev: Editors",
"targets": {
"ubuntu": "kate",
"debian": "kate",
"arch": "kate",
"fedora": "kate",
"opensuse": "kate",
"nix": "kdePackages.kate",
"flatpak": "org.kde.kate",
"snap": "kate --classic",
"homebrew": "--cask kate"
},
"icon": {
"type": "iconify",
"set": "simple-icons",
"name": "kde",
"color": "#1D99F3"
}
},
{
"id": "geany",
"name": "Geany",
"description": "Fast and lightweight IDE",
"category": "Dev: Editors",
"targets": {
"ubuntu": "geany",
"debian": "geany",
"arch": "geany",
"fedora": "geany",
"opensuse": "geany",
"nix": "geany",
"flatpak": "org.geany.Geany",
"homebrew": "--cask geany"
},
"unavailableReason": "Snap is unmaintained, download from [Geany](https://www.geany.org/download/releases/) or use [Flatpak](https://flathub.org/en/apps/org.geany.Geany).",
"icon": {
"type": "url",
"url": "https://www.geany.org/static/img/geany.svg"
}
},
{
"id": "neovim",
"name": "Neovim",
"description": "Modernized Vim with better extensibility",
"category": "Dev: Editors",
"targets": {
"ubuntu": "neovim",
"debian": "neovim",
"arch": "neovim",
"fedora": "neovim",
"opensuse": "neovim",
"nix": "neovim",
"flatpak": "com.neovim.Neovim",
"snap": "nvim --classic",
"homebrew": "neovim"
},
"icon": {
"type": "iconify",
"set": "simple-icons",
"name": "neovim",
"color": "#57A143"
}
},
{
"id": "vim",
"name": "Vim",
"description": "The classic modal text editor that started it all",
"category": "Dev: Editors",
"targets": {
"ubuntu": "vim",
"debian": "vim",
"arch": "vim",
"fedora": "vim-enhanced",
"opensuse": "vim",
"nix": "vim",
"flatpak": "org.vim.Vim",
"snap": "vim-editor",
"homebrew": "vim"
},
"icon": {
"type": "iconify",
"set": "simple-icons",
"name": "vim",
"color": "#019733"
}
},
{
"id": "helix",
"name": "Helix",
"description": "Modal editor with LSP and tree-sitter built-in",
"category": "Dev: Editors",
"targets": {
"arch": "helix",
"fedora": "helix",
"opensuse": "helix",
"nix": "helix",
"flatpak": "com.helix-editor.Helix",
"snap": "helix --classic",
"homebrew": "helix"
},
"unavailableReason": "Not in official Debian/Ubuntu repos. For Ubuntu, add the PPA: `sudo add-apt-repository ppa:maveonair/helix-editor && sudo apt update && sudo apt install helix`. For Debian, download .deb from [GitHub releases](https://github.com/helix-editor/helix/releases).",
"icon": {
"type": "iconify",
"set": "mdi",
"name": "dna",
"color": "#4E2F7F"
}
},
{
"id": "micro",
"name": "Micro",
"description": "Easy-to-use terminal text editor like nano",
"category": "Dev: Editors",
"targets": {
"arch": "micro",
"ubuntu": "micro",
"debian": "micro",
"fedora": "micro",
"opensuse": "micro-editor",
"nix": "micro-editor",
"flatpak": "io.github.zyedidia.micro",
"snap": "micro --classic",
"homebrew": "micro"
},
"icon": {
"type": "iconify",
"set": "simple-icons",
"name": "microeditor",
"color": "#2E3192"
}
},
{
"id": "emacs",
"name": "Emacs",
"description": "Extensible, customizable, free/libre text editor",
"category": "Dev: Editors",
"targets": {
"ubuntu": "emacs",
"debian": "emacs",
"arch": "emacs",
"fedora": "emacs",
"opensuse": "emacs",
"nix": "emacs",
"flatpak": "org.gnu.emacs",
"snap": "emacs --classic",
"homebrew": "--cask emacs-app"
},
"icon": {
"type": "iconify",
"set": "simple-icons",
"name": "gnuemacs",
"color": "#7F5AB6"
}
}
]
]