| name | my-tech-stack |
| description | **MANDATORY REFERENCE** for all tool recommendations. ALWAYS consult BEFORE
suggesting tools, libraries, frameworks, or technologies.
**ALWAYS use when user asks about:** preferred tools, tech recommendations
("bun or node", "uv or pip"), or stack decisions.
**DO NOT use for:** agent configuration (@skills/my-agent-rules) or VCS
operations (@skills/my-jj-workflow).
**CRITICAL:** Do NOT suggest unlisted tools without asking first.
|
Technology Preferences
Preferred tools and technologies. Defaults, not hard rules.
Note: This is a living document. Preferences evolve as new tools emerge and requirements change. Check the latest version before making decisions.
ā” Quick Start
Starting a new project? Default stack:
bun init
biome init
just --init
uv init
uv add pytest
jj git init --colocate
Quick decision guide:
| Need | Use |
|---|
| JS/TS runtime | bun |
| Python packages | uv |
| Lint/format | biome (JS/TS) |
| Search code | ripgrep (rg) |
| Find files | fd |
| Tasks | just |
| Editor | zed |
Prerequisites
- OS: macOS (desktop), Ubuntu (servers)
- Shell: Any (examples work in bash/zsh/fish)
- Package managers: Homebrew (macOS), system package manager (Linux)
How to Use This
When working with this user:
- Check this file first ā Before suggesting tools, consult these preferences
- Prefer listed tools ā When multiple solutions exist, default to these
- Respect "Exploring" ā Tools marked as exploring are for learning only
- Ask before adding ā Don't install unlisted tools without confirmation
- Note deviations ā If project requirements override preferences, document it
By Category
Development Environment
| Tool | When to Use |
|---|
| bun | JavaScript/TypeScript runtime and package manager; fast installs, running JS/TS scripts, Node.js alternative |
| fd | Fast, user-friendly alternative to find; searching for files and directories |
| fzf | Fuzzy finder for command-line; interactive filtering of lists, files, command history, process management |
| github | Git hosting; code collaboration; CI/CD with Actions; issue tracking |
| homebrew | Installing system-wide dependencies, dev tools, macOS applications; preferred package manager for macOS |
| mise | Managing multiple language versions, project-specific tool versions, unified version management across teams |
ripgrep (rg) | Fast, recursive text search; code searching across large codebases; faster alternative to grep |
| typescript | Type-safe JavaScript development; large-scale JS applications; better IDE support |
| uv | Managing Python dependencies, virtual environments, Python version/package isolation |
| zed | Primary code editor; fast, collaborative, Rust-based IDE |
AI Agents
| Tool | When to Use |
|---|
| pi-coding-agent | Primary coding agent ā preferred harness for agent-driven development |
| opencode | Alternative agent harness; use when pi is unavailable |
AI Providers
| Provider | When to Use |
|---|
| fireworks | Default LLM provider ā fast inference, FirePass intelligent routing, cost-effective |
| firepass | Intelligent model routing; automatically selects optimal model for the task |
Code Quality
| Tool | When to Use |
|---|
| biome | Fast linting and formatting for JavaScript/TypeScript/CSS; faster alternative to ESLint + Prettier |
Infrastructure & Cloud
| Tool | When to Use |
|---|
| cloudflare | DNS management, CDN, DDoS protection, serverless workers, fast global edge network |
| k3s | Lightweight Kubernetes for edge, IoT, CI/CD, resource-constrained environments |
| terraform | Infrastructure as Code for provisioning cloud resources; multi-cloud or complex infrastructure |
Local Development
| Tool | When to Use |
|---|
| portless | Clean, memorable local URLs instead of localhost:3000; working with multiple local services |
API & Testing
| Tool | When to Use |
|---|
| httpie | Default for API work ā testing APIs, debugging endpoints, agent workflows; natural syntax, auto JSON formatting |
| curl | Production scripts, CI/CD pipelines, binary data handling, systems where Python isn't available |
httpie vs curl decision guide:
| Situation | Use |
|---|
| API exploration, debugging | httpie ā http GET api.example.com/users page==1 |
| Production deployment scripts | curl ā universally available, reliable exit codes |
| Agent-driven workflows | httpie ā more readable in logs, less flag memorization |
| JSON-heavy APIs | httpie ā native JSON support, auto-pretty-printing |
| Binary file downloads | curl ā more robust for non-text data |
| CI/CD pipelines | curl ā no dependency on Python/HTTPie |
Security & Secrets
| Tool | When to Use |
|---|
| bitwarden / bws | Password management, secure secret storage; bws CLI for programmatic access in scripts and CI/CD |
| wireguard | Simple, fast, modern VPN; secure point-to-point connections; mesh networking |
Remote Access
| Tool | When to Use |
|---|
| eternal-terminal | Remote shell that auto-reconnects without interrupting session; resilient alternative to SSH |
| WR: | |
| NV:### Web Frameworks | |
| NV: | |
| QB: | Tool |
| KR: | ------ |
| HP: | SvelteKit |
| HP: | React |
| KR: | |
| VZ: | |
| NV:### Task Automation | |
| Tool | When to Use |
|---|
| just | Running project tasks, build scripts, command shortcuts; Makefile replacement with better cross-platform support |
| mise (tasks) | Defining and running project tasks when already using mise for version management |
Operating System
| Context | Preference |
|---|
| Desktop | macOS ā Primary development and daily driver |
| Servers | Ubuntu ā Server environments, cloud VMs, production deployments |
Shell
| Context | Preference | Notes |
|---|
| Interactive | fish | Daily command-line work; autosuggestions, syntax highlighting |
| Scripts / Agents | zsh | Automation; compatibility with existing bash scripts |
Exploring
These tools are for learning and experimentation, not production use:
| Tool | Interest |
|---|
| chat-sdk | Building AI chat interfaces, streaming LLM responses |
| devbox | Nix-based reproducible dev environments; exploring alongside mise + smolvm |
| dotenvx | Managing environment variables across environments, encrypting secrets |
| gridland | Building terminal apps with React and OpenTUI; works in both browser and terminal |
| endeavouros | Arch-based Linux distribution; exploring as alternative desktop/server OS |
| json-render | Rendering JSON as UI components; quick admin dashboards |
| memex | Zettelkasten-based agent memory with bidirectional links; installed as pi package |
| smolvm | MicroVMs for sandboxing untrusted code, portable executables, isolated dev environments |
| mastra | Building AI agents, orchestrating LLM workflows |
| rust | Systems programming, performance-critical apps, WebAssembly, CLI tools |
| varlock.dev | Securely sharing environment variables with team members |
| raganything | Multimodal RAG system for documents with images, tables, and equations |
Quick Decision Reference
Starting a new project?
- Use bun for JS/TS runtime and package management
- Use TypeScript for type safety
- Use biome for linting/formatting
- Use zed as code editor
RH:- Use mise for version management
RH:- Use SvelteKit for web framework (when applicable)
Need to search code?
- Use ripgrep (
rg) - it's faster than grep
Need to find files?
- Use fd - more user-friendly than find
Working with Python?
- Use uv for dependencies and virtual environments
Setting up CI/CD?
- Use GitHub Actions on GitHub
Need infrastructure?
- Use Cloudflare for edge/network
- Use Terraform for IaC
- Use k3s for lightweight Kubernetes
Managing secrets?
- Use bitwarden / bws for password/secret management
Handling Conflicts
When project requirements conflict with these preferences:
- Follow project requirements ā they're the authority for that codebase
- Note the deviation ā mention that you're using X instead of the preferred Y
- Don't update this file ā project-specific overrides don't change general preferences
- Consider asking ā if the conflict seems unnecessary, ask the user about it
Example:
"The project uses npm instead of bun (your preferred package manager). I'll proceed with npm for consistency with the existing codebase."
Troubleshooting
Tool not available?
ā Check if it's in the "Exploring" section (learning only, not production-ready)
ā For missing tools, ask user before installing
Preference conflicts with project requirements?
ā Always follow project requirements
ā Document the deviation: "Using npm instead of preferred bun"
Unclear which tool to use?
ā Check "Quick Decision Reference" section
ā When in doubt, ask before adding new dependencies
Version conflicts between tools?
ā Use mise for version management
ā Pin versions in project config files
Versioning
- Last updated: 2026-04-22
- Version: 1.6
- Update notes: Added AI Providers section with fireworks/firepass as default LLM provider; pi-coding-agent as primary agent; memex replacing mulch
Related Skills
- my-agent-rules ā For creating AGENT.md files (not tech recommendations)
- my-jj-workflow ā For version control operations with jj