[{"p":"01.01","s":"install-claude-code-windows","t":"Install Claude Code on Windows: Download, Setup, Run","d":"irm https://claude.ai/install.ps1 | iex installs Claude Code on Windows 10 1809+. WinGet and npm alternatives, Git Bash setup, and the first login.","c":"setup","l":"Install & set up","m":3,"h":["1. Check what you need","2. Run the installer","3. Verify it worked","4. Start it in your project","5. Choose PowerShell, Git Bash, or WSL","Failure mode: running scripts is disabled on this system"],"cmd":"irm https://claude.ai/install.ps1 | iex","u":"2026-09-06"},{"p":"01.02","s":"install-claude-code-macos-linux","t":"How to Install Claude Code on macOS & Linux","d":"Install Claude Code with the curl script or Homebrew in under a minute. The npm route now needs Node.js 22+, and a paid Claude plan is required.","c":"setup","l":"Install & set up","m":3,"h":["1. Run the native installer","2. Verify the install","3. Open your project and log in","If it fails"],"cmd":"curl -fsSL https://claude.ai/install.sh | bash","u":"2026-09-06"},{"p":"01.03","s":"fix-claude-command-not-found","t":"-bash: claude: command not found? 4 Fixes That Work","d":"claude: command not found means the install directory is not on your PATH. Four fixes: new terminal, PATH entry, duplicate install, npm repair.","c":"setup","l":"Install & set up","m":3,"h":["1. Open a new terminal","2. Put the install directory on your PATH","3. Remove the second installation","4. Repair an npm install that never placed the binary","Verify it worked"],"cmd":"claude --version","u":"2026-09-06"},{"p":"01.04","s":"claude-code-vscode-extension","t":"How to Use Claude Code in VS Code","d":"Install the Claude Code extension from the VS Code Marketplace for a native panel with inline diffs and rewind — it no longer auto-installs itself.","c":"setup","l":"Install & set up","m":3,"h":["1. Check the prerequisites","2. Install it","3. Sign in","4. Work with diffs and selections","5. Keep the CLI around","Verify it worked"],"cmd":"npm install -g @anthropic-ai/claude-code","u":"2026-09-06"},{"p":"01.05","s":"update-claude-code","t":"How to Update Claude Code (and Unstick It)","d":"claude update applies the newest Claude Code now, claude doctor says why one stalled, and package-manager installs need upgrading by hand. Copy-paste.","c":"setup","l":"Install & set up","m":3,"h":["1. Check your version","2. Update now","3. Package managers do not auto-update","4. When an update stalls","5. Choose how fast updates arrive"],"cmd":"claude --version","u":"2026-09-06"},{"p":"01.06","s":"claude-code-wsl-windows","t":"Run Claude Code on Windows with WSL","d":"Enable WSL with wsl --install, run the Linux installer for Claude Code inside Ubuntu, fix the PATH, and keep projects on the Linux filesystem.","c":"setup","l":"Install & set up","m":3,"h":["1. Decide: WSL or native Windows","2. Install WSL and Ubuntu","3. Run the Linux installer inside Ubuntu","4. Fix the PATH if claude is missing","5. Open a project the fast way","Verify it worked"],"cmd":"wsl --install","u":"2026-10-19"},{"p":"01.07","s":"claude-code-jetbrains","t":"Use Claude Code in JetBrains IDEs","d":"Install the Claude Code [Beta] plugin from the JetBrains Marketplace, run claude in the IDE terminal, and connect external sessions with /ide.","c":"setup","l":"Install & set up","m":3,"h":["1. Install the Claude Code CLI","2. Install the JetBrains plugin","3. Run claude in the integrated terminal","4. Connect an external terminal with /ide","5. Show diffs in the IDE","If it fails"],"cmd":"claude","u":"2026-10-21"},{"p":"02.01","s":"first-claude-code-session","t":"Your First Claude Code Session in 5 Minutes","d":"Run claude inside your project, give it one clear task, and check the permission mode first — auto mode may edit files without asking on paid plans.","c":"first-steps","l":"First steps","m":3,"h":["1. Start inside the project","2. Check the permission mode","3. Ask before you edit","4. Give it one concrete task","5. Review before moving on","Verify it worked","Three things worth knowing on day one"],"cmd":"cd /path/to/your/project\nclaude","u":"2026-09-06"},{"p":"02.02","s":"claude-code-plan-mode","t":"How to Use Plan Mode in Claude Code (and When)","d":"Plan mode makes Claude Code research and propose before editing. Enter it with Shift+Tab or /plan, review the plan, then approve — or keep planning.","c":"first-steps","l":"First steps","m":3,"h":["1. Enter plan mode","2. Let it explore","3. Approve — or don't","4. Make it the default where it matters","Verify it worked"],"cmd":"claude --permission-mode plan","u":"2026-09-06"},{"p":"02.03","s":"claude-code-terminal-shortcuts","t":"Claude Code Keyboard Shortcuts & Terminal Basics","d":"The keys that make Claude Code fast: @ for files, ! for shell, Esc to interrupt, Esc Esc to rewind, Shift+Tab for modes, Ctrl+B to background.","c":"first-steps","l":"First steps","m":3,"h":["1. The prompt symbols","2. Esc, and Esc twice","3. Shift+Tab for permission modes","4. The rest worth knowing","5. Resume from the shell","Verify it worked"],"cmd":"claude -c    # continue the most recent conversation here\nclaude -r    # pick an older session from a list","u":"2026-09-06"},{"p":"02.04","s":"gemini-cli-first-steps","t":"Getting Started with Gemini CLI","d":"Install Gemini CLI with npm, npx or Homebrew, sign in with Google for 60 requests a minute free, and run your first prompt inside a project.","c":"first-steps","l":"First steps","m":3,"h":["1. Install it","2. Sign in","3. Run your first prompt","Verify it worked","How it compares"],"cmd":"npm install -g @google/gemini-cli","u":"2026-09-06"},{"p":"03.01","s":"create-claude-md-project-memory","t":"How to Set Up a CLAUDE.md That Actually Helps","d":"Run /init, keep CLAUDE.md under 200 lines, and confirm it loaded with /context. Plus .claude/rules for path-scoped instructions and @path imports.","c":"commands","l":"Claude Code commands","m":4,"h":["1. Generate a draft","2. Write what it keeps getting wrong","Commands","Conventions","Don't","3. Keep it under 200 lines","4. Split anything bigger","Verify it worked","Good to know"],"cmd":null,"u":"2026-09-06"},{"p":"03.02","s":"create-claude-code-slash-command","t":"Create a Custom Slash Command in Claude Code","d":"Drop a Markdown file in .claude/commands/ and the filename becomes the command. $0 is the first positional argument, and skills are now preferred.","c":"commands","l":"Claude Code commands","m":3,"h":["1. Create the folder","2. Add the file","3. Take positional arguments","4. Add frontmatter","Current changes","Verify it worked"],"cmd":"mkdir .claude\\commands","u":"2026-09-06"},{"p":"03.03","s":"claude-code-hooks","t":"How to Configure Hooks in Claude Code","d":"Hooks run a shell command on Claude Code events. Note $CLAUDE_FILE_PATHS no longer exists — read the file path from the JSON on stdin instead.","c":"commands","l":"Claude Code commands","m":4,"h":["1. Pick an event","2. Add it to settings.json","3. Read the path from stdin","4. Confirm it loaded","5. Block something","If it fails"],"cmd":"#!/bin/bash\n# .claude/hooks/format.sh\nfile=$(jq -r '.tool_input.file_path')\n[ -f \"$file\" ] && npx prettier --write \"$file\"","u":"2026-09-06"},{"p":"03.04","s":"claude-code-subagents","t":"How to Use Subagents in Claude Code","d":"A subagent is a separate Claude with its own context window. Write one as a Markdown file in .claude/agents/ — note /agents is no longer a wizard.","c":"commands","l":"Claude Code commands","m":3,"h":["1. Delegate the wide work","2. Write your own","3. Invoke it","Verify it worked"],"cmd":null,"u":"2026-09-06"},{"p":"03.05","s":"claude-code-manage-context","t":"Manage Context in Claude Code: /clear, /compact","d":"Use /clear between tasks, /compact within one, /context to see what fills the window, and claude -c to resume. Keeps long sessions fast and cheap.","c":"commands","l":"Claude Code commands","m":3,"h":["1. See what's filling the window","2. Start fresh with /clear","3. Shrink a long task with /compact","4. Name it, then resume","Verify it worked"],"cmd":"claude -c    # continue the most recent conversation in this directory\nclaude -r    # pick an older session from a list","u":"2026-09-06"},{"p":"03.06","s":"claude-code-track-costs","t":"How to Track and Cut Claude Code Token Usage","d":"Run /usage to see session tokens, cost and plan limits — /cost is now just an alias. Then cut waste with /clear, subagents and the right model.","c":"commands","l":"Claude Code commands","m":3,"h":["1. Open /usage","2. Read the attribution","3. Clear rather than compact","4. Match the model to the job","5. Push verbose work out of your window","Verify it worked"],"cmd":null,"u":"2026-09-06"},{"p":"03.07","s":"claude-code-permissions","t":"Control What Claude Code Can Do: Permissions","d":"Claude Code now starts in auto mode on Pro, Max and Team plans. Shift+Tab to switch, and write allow/deny rules that actually match the command.","c":"commands","l":"Claude Code commands","m":4,"h":["1. Check the mode you're in","2. Cycle with Shift+Tab","3. Write rules that match","4. Check what's actually loaded","Verify it worked"],"cmd":null,"u":"2026-09-06"},{"p":"03.08","s":"claude-code-settings-json","t":"Claude Code settings.json: Which File, Which Key","d":"The four settings files Claude Code reads, which one wins when they disagree, and the handful of keys worth setting on day one.","c":"commands","l":"Claude Code commands","m":3,"h":["1. The four files","2. Precedence, highest first","3. The keys worth setting","4. Confirm what loaded"],"cmd":null,"u":"2026-09-06"},{"p":"03.09","s":"claude-code-skills-and-plugins","t":"Claude Code Skills and Plugins","d":"Skills are folders with a SKILL.md. Plugins bundle skills, agents and hooks for sharing. Install one from a marketplace, then write your own.","c":"commands","l":"Claude Code commands","m":4,"h":["1. Install a plugin","2. See what you have","3. Write a skill","Staged changes","4. Wrap it as a plugin"],"cmd":"claude --plugin-dir ./release-tools","u":"2026-09-06"},{"p":"03.10","s":"claude-code-usage-limits","t":"Claude Code usage limits and how to track them","d":"What session, weekly, and per-model limits mean on Pro and Max, how /usage shows your plan usage, and what to do when you hit a limit.","c":"commands","l":"Claude Code commands","m":3,"h":["1. Know which limits apply to you","2. Open /usage to see plan usage","3. Read the per-session cost","4. Recover when you hit a limit","5. Subscription vs API-key billing","Verify it worked"],"cmd":null,"u":"2026-10-19"},{"p":"03.11","s":"claude-code-choose-a-model","t":"Pick the right Claude model in Claude Code","d":"Switch between Opus, Sonnet, and Haiku with /model, set a default, and match the model to the job without guessing at prices or benchmarks.","c":"commands","l":"Claude Code commands","m":3,"h":["1. Switch models with /model","2. Match the model to the task","3. Set a default model","4. Weigh the cost and limit tradeoff","5. Pin a model id or alias","Verify it worked"],"cmd":null,"u":"2026-10-21"},{"p":"03.12","s":"claude-code-memory-hierarchy","t":"Claude Code memory: the CLAUDE.md hierarchy and /memory","d":"Claude Code concatenates CLAUDE.md from managed policy, your home dir, the project, then CLAUDE.local.md. Inspect it with /memory and @path imports.","c":"commands","l":"Claude Code commands","m":3,"h":["1. Know the load order","2. It's concatenation, not override","3. View and edit with /memory","4. Pull in files with @path imports","5. Where AGENTS.md fits","If it fails"],"cmd":null,"u":"2026-10-21"},{"p":"03.13","s":"claude-code-output-styles","t":"Change how Claude Code responds with output styles","d":"List, switch, and build output styles in Claude Code with /output-style, and see how a style differs from CLAUDE.md and the system prompt.","c":"commands","l":"Claude Code commands","m":3,"h":["1. List the styles you have","2. Switch with /output-style","3. Create a custom style","4. Know where styles live","5. Output style vs CLAUDE.md or system prompt","Verify it worked"],"cmd":null,"u":"2026-10-21"},{"p":"03.14","s":"fix-claude-code-rate-limit","t":"Fix Claude Code usage/rate limit reached","d":"Hit a usage or rate limit in Claude Code? What the session, weekly, and per-model limits mean, and the fastest ways to get working again.","c":"commands","l":"Claude Code commands","m":3,"h":["1. Read which limit you hit","2. Wait or auto-resume after reset","3. Switch model for a per-model limit","4. Shrink context to spend less","5. Subscription vs API-key billing","Verify it worked"],"cmd":null,"u":"2026-10-21"},{"p":"04.01","s":"claude-code-whole-codebase-safely","t":"Let Claude Code Work on a Whole Repo Safely","d":"Branch, plan, deny the destructive commands, review in small chunks. Auto mode now starts on by default, so don't assume Claude will stop and ask.","c":"workflow","l":"Workflows","m":4,"h":["1. Check the mode first","2. Work on a branch","3. Plan before multi-file changes","4. Deny what you never want run","5. Review in chunks, and run the tests","If it goes wrong"],"cmd":"git checkout -b ai/feature-x","u":"2026-09-06"},{"p":"04.02","s":"ai-coding-agent-context","t":"Give an AI Coding Agent the Right Context","d":"CLAUDE.md, AGENTS.md and .cursor/rules: four habits that fix most bad AI code — a rules file, @file references, one example, a clean context.","c":"workflow","l":"Workflows","m":3,"h":["1. Write a rules file the agent loads every session","Commands","Conventions","Don't","Claude Code","2. Point at exact files, not \"the codebase\"","3. Show one real example to copy","4. Clear context between unrelated tasks","Verify it worked"],"cmd":null,"u":"2026-09-06"},{"p":"04.03","s":"claude-code-review-a-pr","t":"How to Review a Pull Request with Claude Code","d":"Run /code-review (alias /review) on a diff, or check out a PR with gh. Ask for correctness over style, then have Claude apply only fixes you accept.","c":"workflow","l":"Workflows","m":3,"h":["1. Run the built-in review","2. Or point it at a specific PR","3. Ask for correctness, not style","4. Apply only what you accept","Verify it worked"],"cmd":null,"u":"2026-09-06"},{"p":"04.04","s":"claude-code-github-actions","t":"How to Set Up the Claude Code GitHub Action","d":"Install the Claude GitHub App, add one secret, and drop in a workflow so @claude answers in your issues and PRs. Copy-paste.","c":"workflow","l":"Workflows","m":4,"h":["1. The quick way","2. The manual way","3. Minimal workflow","4. Use it","5. Keep runs cheap"],"cmd":"claude","u":"2026-09-06"},{"p":"04.05","s":"claude-code-headless-ci","t":"How to Run Claude Code Headless in a Script or CI","d":"Run Claude Code non-interactively with claude -p, get JSON back, pre-approve tools, and wire it into a CI job. Copy-paste.","c":"workflow","l":"Workflows","m":4,"h":["1. One prompt, one answer","2. Pre-approve the tools it needs","3. Get JSON out","4. Harden it for CI"],"cmd":"claude -p \"What does the auth module do?\"","u":"2026-09-06"},{"p":"04.06","s":"claude-code-parallel-sessions-worktrees","t":"Run Parallel Claude Code Sessions with Git Worktrees","d":"Start a second Claude Code session in its own git worktree with `claude --worktree`, keep .env files in it, and clean up when you're done. Copy-paste.","c":"workflow","l":"Workflows","m":3,"h":["1. Start Claude in a worktree","2. Start a second session","3. Carry your .env into every worktree","4. Branch from a pull request instead","5. Clean up","Worth knowing"],"cmd":"claude --worktree feature-auth","u":"2026-09-06"},{"p":"04.07","s":"claude-code-docker-devcontainer","t":"Run Claude Code in a Docker devcontainer","d":"Add Anthropic's official dev container feature to .devcontainer/devcontainer.json, rebuild, and run claude inside an isolated, reproducible container.","c":"workflow","l":"Workflows","m":3,"h":["1. Add the Claude Code feature to devcontainer.json","2. Rebuild the container","3. Sign in to Claude Code inside the container","4. Persist auth across rebuilds","5. Skip permission prompts safely in the sandbox","Verify it worked"],"cmd":"claude","u":"2026-10-21"},{"p":"05.01","s":"install-mcp-server-claude-code","t":"How to Install an MCP Server in Claude Code","d":"Add an MCP server with claude mcp add: -- for local commands, --transport http for hosted ones, --scope to choose who gets it, then /mcp to confirm.","c":"mcp","l":"MCP","m":3,"h":["1. Local command, or hosted URL","2. Choose the scope","3. Pass secrets properly","4. Confirm it connected","If it fails"],"cmd":"claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem C:\\path\\to\\allow","u":"2026-09-06"},{"p":"05.02","s":"connect-claude-code-to-github","t":"Connect Claude Code to GitHub with MCP","d":"Add GitHub's hosted MCP server at api.githubcopilot.com with a bearer token — the old @modelcontextprotocol/server-github package has been archived.","c":"mcp","l":"MCP","m":3,"h":["1. Create a fine-grained token","2. Add the server","3. Pick the scope","4. Confirm it connected","If it fails"],"cmd":"claude mcp add --transport http github https://api.githubcopilot.com/mcp/ \\\n  --header \"Authorization: Bearer YOUR_GITHUB_PAT\"","u":"2026-09-06"},{"p":"05.03","s":"best-mcp-servers-to-start","t":"The Best MCP Servers to Start With","d":"Seven MCP reference servers are still maintained — filesystem, fetch, git, memory, time. GitHub, Postgres, Slack and Puppeteer were archived.","c":"mcp","l":"MCP","m":4,"h":["1. The maintained shortlist","2. Check the archive before you install","3. Add one","4. Confirm it connected","If it fails","Give it the least access that works"],"cmd":"claude mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem ~/projects/my-app","u":"2026-09-06"},{"p":"05.04","s":"mcp-claude-code-vs-desktop","t":"MCP in Claude Code vs Claude Desktop","d":"claude mcp add registers a server from the terminal; Claude Desktop edits a JSON config from Settings. Same protocol, two setup flows, a scope trick.","c":"mcp","l":"MCP","m":3,"h":["1. Claude Code: one command","2. Scope is the real difference","3. Claude Desktop: a config file behind a button","4. Move one you already have","5. Verify it worked"],"cmd":"claude mcp add --transport stdio airtable -- npx -y airtable-mcp-server","u":"2026-09-06"},{"p":"05.05","s":"build-mcp-server-python","t":"How to Build an MCP Server in Python","d":"Write a one-tool MCP server named word_count with the official Python SDK, run it over stdio, and call it from Claude Code with claude mcp add.","c":"mcp","l":"MCP","m":4,"h":["1. Install the SDK","2. Write the server","3. Try it before wiring it up","4. Connect it to Claude Code","5. Call it"],"cmd":"uv add \"mcp[cli]\"","u":"2026-09-06"},{"p":"05.06","s":"build-mcp-server-typescript","t":"How to Build an MCP Server in TypeScript","d":"Write a one-tool MCP server with the official TypeScript SDK, serve it over stdio, and call it from Claude Code. Copy-paste.","c":"mcp","l":"MCP","m":4,"h":["1. Set up the project","2. Write the server","3. One rule about output","4. Run and connect it","5. Call it"],"cmd":"mkdir wordcount && cd wordcount\nnpm init -y\nnpm pkg set type=module\nnpm install @modelcontextprotocol/server zod","u":"2026-09-06"},{"p":"05.07","s":"claude-code-mcp-troubleshooting","t":"MCP Server Not Working in Claude Code?","d":"claude mcp list says Failed to connect or Pending approval? Five checks find the cause: scope, approval, the -- separator, env vars and timeouts.","c":"mcp","l":"MCP","m":3,"h":["1. Read the status","2. Wrong scope","3. Project servers wait for approval","4. The command line itself","5. Slow start, big output","Still stuck"],"cmd":"claude mcp list\nclaude mcp get github","u":"2026-09-06"},{"p":"05.08","s":"claude-code-remote-mcp-servers","t":"Connect a Remote MCP Server to Claude Code over HTTP","d":"Add a hosted MCP server with claude mcp add --transport http, authenticate with OAuth or a header, and pick the right scope for your team.","c":"mcp","l":"MCP","m":3,"h":["1. Add it","2. Authenticate","3. Choose a scope","4. Verify"],"cmd":"claude mcp add --transport http notion https://mcp.notion.com/mcp","u":"2026-09-06"},{"p":"05.09","s":"connect-guides-ai-mcp-server","t":"Connect the guides-ai MCP Server to Your Agent","d":"Add the guides-ai MCP server to Claude Code, Cursor, or any agent with one URL. No install, no token. Then search the whole guide library from chat.","c":"mcp","l":"MCP","m":3,"h":["1. Add it to Claude Code","2. Add it to Cursor, or any mcpServers client","3. Use it from chat","4. Verify the connection","Verify it worked"],"cmd":"claude mcp add --transport http guides-ai https://guides-ai.com/mcp","u":"2026-11-01"},{"p":"06.01","s":"claude-projects-getting-started","t":"How to Use Claude Projects","d":"Claude Projects keep files and instructions across chats. Free accounts get up to 5 projects; paid plans add RAG that expands knowledge up to 10x.","c":"claude","l":"Claude","m":3,"h":["1. Create one, scoped to a single context","2. Upload the knowledge","3. Write custom instructions once","4. Share it, if your plan allows","Verify it worked"],"cmd":null,"u":"2026-09-06"},{"p":"06.02","s":"claude-artifacts","t":"How to Use Claude Artifacts","d":"Artifacts open code, docs and diagrams in a side panel. Turn on Code execution and file creation in Settings, iterate in place, then publish a link.","c":"claude","l":"Claude","m":3,"h":["1. Turn the feature on","2. Ask for something substantial","3. Iterate in place","4. Publish it","Verify it worked"],"cmd":null,"u":"2026-09-06"},{"p":"07.01","s":"chatgpt-summarize-pdf","t":"ChatGPT PDF Summary: Summarize Long Files in 3 Steps","d":"Attach the PDF in ChatGPT, ask for a shape instead of a summary, then drill in. The 512 MB and 2M-token caps, and what to do with a scanned file.","c":"chatgpt","l":"ChatGPT","m":3,"h":["1. Attach the PDF","2. Ask for structure, not \"a summary\"","3. Drill into one section","4. Check it against the file","When the file is unreadable or too big"],"cmd":null,"u":"2026-09-06"},{"p":"07.02","s":"chatgpt-custom-instructions","t":"How to Set ChatGPT Custom Instructions","d":"Custom instructions moved to Settings then Personalization and are now one field, not two boxes. They apply immediately to all chats, on every plan.","c":"chatgpt","l":"ChatGPT","m":3,"h":["1. Open Settings, then Personalization","2. Turn on Enable customization","3. Write context first, then output rules","Verify it worked"],"cmd":null,"u":"2026-09-06"},{"p":"07.03","s":"build-a-custom-gpt","t":"How to Build a Custom GPT (No Code)","d":"Custom GPT creation now needs a Business, Enterprise or Edu workspace. Use the Configure tab for instructions, up to 20 knowledge files, and actions.","c":"chatgpt","l":"ChatGPT","m":3,"h":["1. Open the builder, then switch to Configure","2. Write instructions that constrain the answer","3. Add knowledge and capabilities","Verify it worked"],"cmd":null,"u":"2026-09-06"},{"p":"07.04","s":"chatgpt-projects","t":"How to Use ChatGPT Projects","d":"ChatGPT Projects group chats around shared files and instructions. Free plans get 5 files per project, Plus 25, Pro and Business 40; sharing is free.","c":"chatgpt","l":"ChatGPT","m":3,"h":["1. Create a project","2. Upload the files every chat should know","3. Write project instructions once","4. Move existing chats in","Project or a custom GPT?","Verify it worked"],"cmd":null,"u":"2026-09-06"},{"p":"07.05","s":"chatgpt-voice-mode","t":"How to Use ChatGPT Voice Mode","d":"ChatGPT voice now runs inside the chat, not a separate blue-orb screen. Tap the Voice icon on web, hold the mic on mobile, and when to skip it.","c":"chatgpt","l":"ChatGPT","m":3,"h":["1. Start it","2. Choose integrated or separate mode","3. Talk over it","When it's worth it, and when it isn't","If it fails"],"cmd":null,"u":"2026-09-06"},{"p":"07.06","s":"excel-formulas-with-chatgpt","t":"How to Get Working Excel Formulas from ChatGPT","d":"Describe the sheet so ChatGPT can answer, ask for the formula plus a breakdown, verify it on real rows, and fix the four things that go wrong.","c":"chatgpt","l":"ChatGPT","m":3,"h":["1. Describe the sheet","2. Ask for the breakdown","3. Verify","4. The four things that go wrong"],"cmd":null,"u":"2026-09-06"},{"p":"08.01","s":"cursor-first-steps","t":"How to Use Cursor: A 10-Minute First-Edit Tutorial","d":"Cursor in ten minutes: Tab completions, Cmd/Ctrl K inline edits, the Agent sidepane on Cmd/Ctrl I, and how to review or undo what Agent wrote.","c":"cursor","l":"Cursor","m":3,"h":["1. Open your project folder","2. Learn the four keys","3. Make one inline edit","4. Give Agent a job that spans files","5. Verify it worked","Failure mode: an edit you did not want, already on disk"],"cmd":"git diff --stat","u":"2026-09-06"},{"p":"08.02","s":"cursor-mcp-servers","t":"Add an MCP Server to Cursor (.cursor/mcp.json)","d":"Configure a local or remote MCP server in Cursor, global or per project, keep the API key out of git, and verify it with a real tool call.","c":"cursor","l":"Cursor","m":3,"h":["1. Global or project","2. A local server","3. A remote server","4. Enable and verify"],"cmd":null,"u":"2026-09-06"},{"p":"08.03","s":"cursor-rules-file","t":"How to Write a Cursor Project Rule (.cursor/rules)","d":"Cursor project rules are .mdc files with frontmatter. Learn the four rule types, which frontmatter produces each, and copy a working example.","c":"cursor","l":"Cursor","m":3,"h":["1. Where rules live","2. The four types","3. A rule you can paste","4. The simpler option"],"cmd":null,"u":"2026-09-06"},{"p":"08.04","s":"cursor-background-agents","t":"Run Cursor Background (Cloud) Agents","d":"Cursor renamed Background Agents to Cloud Agents. Run async agents in a cloud VM on your repo, review their PRs, and learn the privacy limits.","c":"cursor","l":"Cursor","m":3,"h":["1. Know what changed","2. Connect source control and set a spend limit","3. Start a Cloud Agent on a task","4. Monitor the run and review the PR","5. Mind the privacy and data limits"],"cmd":null,"u":"2026-10-21"},{"p":"09.01","s":"run-local-llm-ollama-windows","t":"How to Run Ollama on Windows (Install, GPU, Models)","d":"Install Ollama on Windows 10 22H2+, run your first model with ollama run, check it landed on the GPU, and move the model store off your C: drive.","c":"local-llm","l":"Local LLMs","m":3,"h":["1. Check what Windows needs","2. Install Ollama","3. Pull and run your first model","4. Verify it worked","5. Move the model store off C:","Failure mode: it answers, but at one word a second"],"cmd":"irm https://ollama.com/install.ps1 | iex","u":"2026-09-06"},{"p":"09.02","s":"ollama-custom-model-modelfile","t":"Ollama Modelfile: a Custom Model With a System Prompt","d":"An Ollama Modelfile bakes FROM, SYSTEM and PARAMETER into a named local model with ollama create, so behaviour travels with the model, not scripts.","c":"local-llm","l":"Local LLMs","m":3,"h":["1. Write the Modelfile","2. Pick parameters that matter","3. Build it","4. Run it","Verify it worked"],"cmd":"ollama create reviewer -f ./Modelfile","u":"2026-09-06"},{"p":"09.03","s":"call-ollama-api","t":"Call Your Local Ollama Model from curl & Python","d":"Ollama serves a local API on port 11434. Call /api/chat with curl or Python, or point any OpenAI client at http://localhost:11434/v1/ instead.","c":"local-llm","l":"Local LLMs","m":3,"h":["1. Confirm the server and the model","2. curl","3. Python","4. Point an existing OpenAI client at it","If it fails"],"cmd":"ollama list","u":"2026-09-06"},{"p":"09.04","s":"choose-llm-quantization","t":"Choose a GGUF Quantization: Q4 vs Q5 vs Q8","d":"Q4_K_M is the default pick for local LLMs. Real bits-per-weight for each GGUF level, why Q8_0 is a legacy format, and how to match one to your RAM.","c":"local-llm","l":"Local LLMs","m":3,"h":["1. Prefer the K-quants","2. The levels, with their real cost","3. Turn bits into gigabytes","Verify it worked"],"cmd":null,"u":"2026-09-06"},{"p":"09.05","s":"run-llm-lm-studio","t":"Run a Local LLM with LM Studio (No Terminal)","d":"LM Studio downloads and runs GGUF models in a desktop app, then serves them at http://localhost:1234/v1 for any OpenAI-compatible client. No terminal.","c":"local-llm","l":"Local LLMs","m":3,"h":["1. Install","2. Download a model","3. Load it and chat","4. Start the server","5. Call it from code","Verify it worked"],"cmd":"curl http://localhost:1234/v1/models","u":"2026-09-06"},{"p":"09.06","s":"llama-cpp-quickstart","t":"llama.cpp Quickstart: Run a GGUF Model","d":"Install llama.cpp, pull a GGUF from Hugging Face with llama cli -hf, chat in the terminal, then serve an OpenAI-compatible API on localhost:9931.","c":"local-llm","l":"Local LLMs","m":4,"h":["1. Install","2. Run a model","3. Serve an OpenAI-compatible API","4. Call it","Useful flags"],"cmd":"curl -LsSf https://llama.app/install.sh | sh","u":"2026-09-06"},{"p":"09.07","s":"local-llm-ram-vram-requirements","t":"How Much RAM or VRAM a Local LLM Needs (1B to 70B)","d":"Real GGUF file sizes at Q4/Q8 for 1B to 70B models, the rule of thumb behind them, and what fits in 8, 16, 24 or 64 GB. Pick a model that runs.","c":"local-llm","l":"Local LLMs","m":3,"h":["1. The rule of thumb","2. Real sizes, measured","3. Add headroom for context","4. What fits where","5. Check before you pull"],"cmd":"ollama show llama3.1:8b --modelfile   # after a pull: shows quantization and params","u":"2026-09-06"},{"p":"09.08","s":"ollama-in-docker-with-gpu","t":"How to Run Ollama in Docker with an NVIDIA GPU","d":"NVIDIA Container Toolkit setup, the official docker run command, pulling a model, keeping models in a volume, and AMD or CPU fallbacks.","c":"local-llm","l":"Local LLMs","m":3,"h":["1. Install the NVIDIA Container Toolkit","2. Start Ollama","3. Pull and run a model","4. Confirm it is on the GPU","5. AMD, CPU, upgrades"],"cmd":"sudo apt-get install -y nvidia-container-toolkit\nsudo nvidia-ctk runtime configure --runtime=docker\nsudo systemctl restart docker","u":"2026-09-06"},{"p":"09.09","s":"open-webui-with-ollama","t":"How to Run Open WebUI with Ollama (Docker)","d":"Give your local Ollama models a ChatGPT-style web interface with one Docker command — first login, model picker, and fixes.","c":"local-llm","l":"Local LLMs","m":3,"h":["1. Check Ollama is up","2. Start Open WebUI","3. First login","4. Pick a model","Upgrading"],"cmd":"curl http://localhost:11434/api/tags","u":"2026-09-06"},{"p":"09.10","s":"run-local-llm-ollama-macos-linux","t":"How to Run a Local LLM with Ollama on macOS/Linux","d":"Install Ollama with one command, pull gemma3:4b, chat offline in the terminal, and keep the daemon running as a background service on port 11434.","c":"local-llm","l":"Local LLMs","m":3,"h":["1. Install","2. Pull a small model","3. Chat","4. Keep it running as a service","Choosing a size for your RAM","Housekeeping"],"cmd":"curl -fsSL https://ollama.com/install.sh | sh","u":"2026-09-06"},{"p":"09.11","s":"vllm-serve-openai-compatible","t":"How to Serve a Model with vLLM","d":"Install vLLM, start a server with vllm serve on localhost:8000, and call it with the OpenAI Python SDK. Needs a Linux box with an NVIDIA GPU.","c":"local-llm","l":"Local LLMs","m":3,"h":["1. Check the hardware first","2. Install","3. Start the server","4. Call it with the OpenAI SDK"],"cmd":"uv venv --python 3.12 --seed\nsource .venv/bin/activate\nuv pip install vllm --torch-backend=auto","u":"2026-09-06"},{"p":"09.12","s":"local-llm-apple-silicon-mlx","t":"Run LLMs Fast on Apple Silicon with MLX","d":"MLX is Apple's framework for M-series Macs. Install mlx-lm, generate from a Hugging Face model, and serve an OpenAI-style API with mlx_lm.server.","c":"local-llm","l":"Local LLMs","m":3,"h":["1. Confirm you are on Apple Silicon","2. Install mlx-lm","3. Generate from a model","4. Chat and serve an OpenAI-style API","5. Get quantized models from Hugging Face"],"cmd":"uname -m","u":"2026-10-19"},{"p":"09.13","s":"ollama-gpu-not-detected","t":"Fix Ollama Not Using Your GPU","d":"Ollama ran on CPU instead of your GPU. Confirm it with ollama ps, then fix the driver, Docker and WSL passthrough, or a model too big for VRAM.","c":"local-llm","l":"Local LLMs","m":3,"h":["1. Check whether the GPU is actually used","2. Update the NVIDIA driver and CUDA runtime","3. Fix GPU passthrough in Docker and WSL","4. Size the model to your VRAM","5. Set the right GPU with device variables"],"cmd":"ollama ps","u":"2026-10-19"},{"p":"09.14","s":"call-a-local-model-openai-compatible","t":"Call any local model with the OpenAI-compatible API","d":"Ollama, LM Studio, llama.cpp and vLLM all expose an OpenAI-compatible /v1 API. List models, run a chat completion, and stream from one SDK.","c":"local-llm","l":"Local LLMs","m":3,"h":["1. Find your server's base URL and port","2. List the models with GET /v1/models","3. Run a chat completion with the OpenAI SDK","4. Stream the response token by token","5. Check which params each server supports","Verify it worked"],"cmd":"curl http://localhost:8000/v1/models","u":"2026-10-21"},{"p":"09.15","s":"fix-cuda-out-of-memory","t":"Fix CUDA out of memory when running a model locally","d":"torch.OutOfMemoryError: CUDA out of memory means the GPU is full. Lower the batch size, use float16 or 4-bit, offload to CPU, or clear the cache.","c":"local-llm","l":"Local LLMs","m":3,"h":["1. Lower the batch size, resolution, or sequence length","2. Load the model in half precision","3. Quantize to 8-bit or 4-bit","4. Offload layers to the CPU","5. Clear the cache and defragment memory","Verify it worked"],"cmd":"export PYTORCH_ALLOC_CONF=expandable_segments:True","u":"2026-10-21"},{"p":"09.16","s":"fix-ollama-model-not-found","t":"Fix Ollama model not found or pull failed","d":"ollama run says model not found? Pull the exact model:tag first, fix a wrong or case-sensitive tag, or run a GGUF straight from Hugging Face.","c":"local-llm","l":"Local LLMs","m":3,"h":["1. See what is installed","2. Find the exact name and tag","3. Pull a GGUF from Hugging Face","4. Retry a failed pull","Verify it worked"],"cmd":"ollama list","u":"2026-10-21"},{"p":"09.17","s":"fix-ollama-out-of-memory","t":"Fix Ollama out of memory or model too large","d":"Ollama ran out of memory or the model is too large. Check the split with ollama ps, then cut the model, the quant, or the context window.","c":"local-llm","l":"Local LLMs","m":3,"h":["1. Confirm the CPU/GPU split","2. Pick a smaller model or lower quantization","3. Shrink the context window","4. Free VRAM other apps are holding","Verify it worked"],"cmd":"ollama ps","u":"2026-10-21"},{"p":"09.18","s":"fix-pip-install-torch-cuda","t":"Fix pip install torch (CPU-only or CUDA mismatch)","d":"Plain pip install torch gives a CPU-only build on Windows. Install from the PyTorch index URL that matches your CUDA, then verify the GPU.","c":"local-llm","l":"Local LLMs","m":3,"h":["1. Check what you actually have","2. Remove the CPU-only build","3. Install the build that matches your CUDA","4. Match the driver to the toolkit","5. Verify the GPU build"],"cmd":"pip uninstall -y torch torchvision torchaudio","u":"2026-10-21"},{"p":"09.19","s":"local-model-in-cursor-or-claude-code","t":"Use a Local Model in Cursor or Claude Code","d":"Point Cursor's chat at a local OpenAI-compatible model, and see why Claude Code cannot use a non-Claude or local model as its backend.","c":"local-llm","l":"Local LLMs","m":3,"h":["1. Serve a local OpenAI-compatible endpoint","2. Point Cursor at a custom key and base URL","3. Know what Cursor still sends to its servers","4. Understand what Claude Code supports","5. Pick the right tool for private work"],"cmd":"ollama pull qwen2.5-coder && ollama serve","u":"2026-10-21"},{"p":"10.01","s":"write-better-ai-prompts","t":"How to Write Better AI Prompts (A Framework)","d":"A prompt framework that still holds: role, task, context, format — plus the long-input ordering rule Anthropic measures at up to 30% better answers.","c":"prompting","l":"Prompting","m":3,"h":["The framework","The ordering rule most guides get wrong","Examples beat adjectives","Say why, not just what"],"cmd":null,"u":"2026-09-06"},{"p":"10.02","s":"write-a-system-prompt","t":"How to Write a System Prompt That Steers a Model","d":"System prompt structure: role, rules with reasons, exact output format, tagged examples. Set it in the API system parameter, then test by breaking it.","c":"prompting","l":"Prompting","m":3,"h":["1. Role, in one sentence","2. Rules, with reasons","3. Output format, exactly","4. One tagged example","Test it by breaking it"],"cmd":null,"u":"2026-09-06"},{"p":"10.03","s":"reduce-ai-hallucinations","t":"How to Reduce AI Hallucinations With Prompts","d":"Ground answers in pasted source text, allow \"not stated\", demand a quote per claim, and lower temperature: the habits that cut invented facts.","c":"prompting","l":"Prompting","m":4,"h":["1. Source first, question last","2. Make \"I don't know\" allowed","3. Demand a quote per claim","4. Lower the temperature for facts","5. For agents: read before answering","6. Verify what matters anyway"],"cmd":null,"u":"2026-09-06"},{"p":"10.04","s":"prompt-chaining","t":"How to Chain Prompts to Solve a Big Task","d":"Prompt chaining splits a task into separate API calls you can inspect (draft, review, refine), and when a modern model handles it in one call.","c":"prompting","l":"Prompting","m":3,"h":["The pattern","Hand off with tags, not prose","The chain worth having: self-correction","When to skip it"],"cmd":null,"u":"2026-09-06"},{"p":"10.05","s":"rag-explained-simply","t":"RAG Explained Simply (and When You Need It)","d":"RAG retrieves relevant chunks, then generates. With 1M-token context windows and hosted file_search tools, here is when it beats pasting the file.","c":"prompting","l":"Prompting","m":3,"h":["The flow","What changed: context got huge","RAG vs fine-tuning","Don't build it first"],"cmd":null,"u":"2026-09-06"},{"p":"10.06","s":"evals-with-promptfoo","t":"Prompt Evals with promptfoo: One YAML, One Matrix","d":"Install promptfoo, write a config with two prompts, three test cases and real assertions, run it, and read the pass/fail grid.","c":"prompting","l":"Prompting","m":4,"h":["1. Install","2. The config","3. Run and view","4. Reading it","Assertions worth knowing"],"cmd":"npx promptfoo@latest init","u":"2026-09-06"},{"p":"10.07","s":"llm-as-judge-evals","t":"LLM-as-Judge Evals: Rubric and Verdict","d":"Grade model outputs with a judge model: a copy-paste rubric prompt, a structured verdict, a Python scoring loop, and the biases that fake good scores.","c":"prompting","l":"Prompting","m":4,"h":["When not to use one","The rubric prompt","The loop","Pitfalls that produce a flattering number"],"cmd":null,"u":"2026-09-06"},{"p":"10.08","s":"prompt-injection-defense","t":"Prompt Injection Defense for Tool-Using Agents","d":"Six defenses that actually reduce blast radius — privilege separation, allowlists, fenced tool results, approval gates, output filtering, and tests.","c":"prompting","l":"Prompting","m":4,"h":["1. Privilege separation","2. Allowlist the reach","3. Fence tool results as data","4. Human-in-the-loop for side effects","5. Filter what leaves","6. Test it like a bug class"],"cmd":null,"u":"2026-09-06"},{"p":"10.09","s":"local-embeddings-embeddinggemma","t":"Generate Embeddings Locally with EmbeddingGemma","d":"Install sentence-transformers, load EmbeddingGemma 2, encode queries and documents with its prefixes, score cosine similarity, and feed a vector DB.","c":"prompting","l":"Prompting","m":3,"h":["1. What embeddings are for","2. Install and accept the license","3. Encode queries and documents","4. Score cosine similarity","5. Feed a vector database","If it fails"],"cmd":"pip install -U sentence-transformers","u":"2026-10-19"},{"p":"11.01","s":"pick-an-ai-model","t":"Which AI Model Should You Use?","d":"Pick an AI model by job: coding, images, very long inputs, or private local inference. Current tiers, with the context-window myth corrected.","c":"choosing","l":"Choosing tools","m":3,"h":["By job","The context-window rule of thumb is out of date","Tiers matter more than brands","When local wins"],"cmd":"ollama run llama3.2 \"Summarise this in three bullets: <paste text>\"","u":"2026-09-06"},{"p":"11.02","s":"claude-vs-chatgpt-for-coding","t":"Claude vs ChatGPT for Coding: Which to Use","d":"A practical split for real coding work, plus the deciding fact most comparisons skip: Claude Code needs a paid plan, ChatGPT answers on free.","c":"choosing","l":"Choosing tools","m":3,"h":["1. Reach for Claude when","2. Reach for ChatGPT when","3. Check what your plan includes","4. Honestly: the agent matters more than the brand","Verify it worked"],"cmd":null,"u":"2026-09-06"},{"p":"11.03","s":"claude-code-vs-cursor","t":"Claude Code vs Cursor: Which One to Use","d":"Claude Code is a terminal agent; Cursor is an agent-first editor. Where each one wins, and why the Claude Code extension installs into Cursor too.","c":"choosing","l":"Choosing tools","m":3,"h":["1. Where Claude Code wins","2. Where Cursor wins","3. You don't have to choose","Verify it worked"],"cmd":null,"u":"2026-09-06"},{"p":"11.04","s":"openai-vs-claude-api","t":"OpenAI API vs Claude API: Which to Build On","d":"OpenAI and Claude API compared on price per million tokens, 1M-token context, tool use and long-context surcharges, plus how to decide with an eval.","c":"choosing","l":"Choosing tools","m":3,"h":["Price and size, side by side","The costs that don't show up in the table","Tool use and structure","Decide with an eval, not a table"],"cmd":null,"u":"2026-09-06"},{"p":"11.05","s":"fine-tuning-vs-rag-vs-prompting","t":"Fine-Tuning vs RAG vs Prompting: How to Choose","d":"A decision table plus rules of thumb — which one fixes your problem, and what each costs in money, latency and maintenance.","c":"choosing","l":"Choosing tools","m":3,"h":["The decision table","Start with prompting","Reach for RAG when the facts move","Fine-tune for form, not for facts","Rules of thumb"],"cmd":null,"u":"2026-09-06"},{"p":"11.06","s":"ollama-vs-lm-studio","t":"Ollama vs LM Studio: Which Local LLM Runner","d":"Ollama is a scriptable CLI and daemon; LM Studio is a desktop app with a model browser. Both run GGUF locally, so pick by workflow, not quality.","c":"choosing","l":"Choosing tools","m":3,"h":["1. Decide by how you work","2. Compare install and first run","3. Note the shared model format","4. Compare the built-in API","5. Choose for headless and server use"],"cmd":"ollama run llama3.2","u":"2026-10-19"},{"p":"11.07","s":"which-local-model-should-i-run","t":"Which Local LLM Should You Run?","d":"Choose a local LLM by what fits your RAM and VRAM first, then by task, with starter picks for 8GB, 16GB, and 24GB machines.","c":"choosing","l":"Choosing tools","m":3,"h":["1. Start with your hardware, not the model","2. Then choose by task","3. Set the quantization tradeoff","4. Starter picks by memory tier","5. Pull one and test"],"cmd":"ollama run llama3.2 \"Say hello and name yourself\"","u":"2026-10-21"},{"p":"12.01","s":"remove-background-with-ai","t":"Remove an Image Background With AI (Free)","d":"rembg cuts a subject to a transparent PNG from the command line — one file or a whole folder, offline, full resolution, no watermark and no upload.","c":"media","l":"AI media","m":3,"h":["1. Install","2. Cut one image","3. Batch a folder","4. Change the model when edges are rough","Verify it worked"],"cmd":"pip install \"rembg[cpu,cli]\"","u":"2026-09-06"},{"p":"12.02","s":"midjourney-prompts-that-work","t":"Midjourney Prompts That Actually Work","d":"Midjourney prompt structure: subject, style, details, then parameters last. --raw has replaced --style raw, and --ar still sets the aspect ratio.","c":"media","l":"AI media","m":3,"h":["1. The structure","2. A worked example","3. What moves the needle","4. The parameters that changed","If it looks wrong"],"cmd":null,"u":"2026-09-06"},{"p":"12.03","s":"ai-image-inpainting","t":"How to Inpaint: Edit One Part of an Image","d":"Inpainting masks a region and regenerates only that: Midjourney Vary (Region), Firefly Generative Fill, ChatGPT, or Stable Diffusion locally.","c":"media","l":"AI media","m":3,"h":["1. Open the image in a tool that masks","2. Mask slightly larger than the object","3. Prompt for the masked area only","If it fails"],"cmd":null,"u":"2026-09-06"},{"p":"12.04","s":"comfyui-first-workflow","t":"How to Install ComfyUI and Run Your First Workflow","d":"Install ComfyUI the reliable way, put a checkpoint in the right folder, load the default text-to-image graph, and generate an image.","c":"media","l":"AI media","m":4,"h":["1. Install","2. Add a checkpoint","3. Load the default workflow","4. Generate","5. Where the nodes live"],"cmd":"pip install comfy-cli\ncomfy install\ncomfy launch","u":"2026-09-06"},{"p":"12.05","s":"generate-images-with-flux-locally","t":"How to Generate Images Locally with FLUX (Python)","d":"Run FLUX.1-schnell locally on your GPU with a short Python diffusers script — accept the Hugging Face license and offload for low VRAM.","c":"media","l":"AI media","m":4,"h":["1. Know your VRAM budget","2. Get access to the weights","3. Install","4. Run it","5. Your first prompt"],"cmd":"pip install -U huggingface_hub\nhf auth login","u":"2026-09-06"},{"p":"12.06","s":"generate-short-ai-video-locally","t":"How to Generate a Short AI Video Locally (Wan 2.2)","d":"The honest local text-to-video path: Wan 2.2 TI2V-5B in ComfyUI — three model files, real VRAM numbers, and a five-second clip.","c":"media","l":"AI media","m":4,"h":["1. The VRAM reality","2. Update ComfyUI","3. Download three files","4. Open the template","5. Render"],"cmd":"git pull\npip install -r requirements.txt","u":"2026-09-06"},{"p":"12.07","s":"text-to-speech-locally","t":"How to Generate Speech Locally with Piper TTS","d":"Turn a text file into a WAV on your own machine — install Piper, download a voice, and choose between quality tiers and languages.","c":"media","l":"AI media","m":3,"h":["1. Install","2. Download a voice","3. Write a WAV","4. Read from a file","5. If the voice is not good enough"],"cmd":"pip install piper-tts","u":"2026-09-06"},{"p":"12.08","s":"translate-subtitles-with-ai","t":"How to Translate an SRT Subtitle File with AI","d":"Translate subtitles without breaking timestamps — a copy-paste Python script, the prompt that keeps line counts, and the checks that catch drift.","c":"media","l":"AI media","m":4,"h":["1. Install","2. The script","3. For a short file, prompt directly","4. Check it"],"cmd":"pip install anthropic\nexport ANTHROPIC_API_KEY=sk-ant-...","u":"2026-09-06"},{"p":"12.09","s":"upscale-images-locally","t":"How to Upscale Images Locally with Real-ESRGAN","d":"Enlarge photos and anime art 4x on your own machine with the standalone Real-ESRGAN binary — one command, no Python, and batch folders.","c":"media","l":"AI media","m":3,"h":["1. Download","2. Upscale one image","3. Pick the model","4. Batch a folder"],"cmd":"chmod +x realesrgan-ncnn-vulkan","u":"2026-09-06"},{"p":"12.10","s":"whisper-transcribe-audio-locally","t":"How to Transcribe Audio Locally with Whisper","d":"Install OpenAI Whisper and ffmpeg, run whisper file.mp3 --model turbo, and get SRT and TXT subtitle files with timestamps out on your own machine.","c":"media","l":"AI media","m":3,"h":["1. Install","2. Transcribe","3. Pick a model size","4. Non-English audio"],"cmd":"pip install -U openai-whisper","u":"2026-09-06"},{"p":"12.11","s":"clone-a-voice-locally","t":"Clone a Voice Locally with Chatterbox TTS","d":"Use ResembleAI Chatterbox (MIT) to clone a voice from a short reference clip in a few lines of Python, with the consent caveat up front.","c":"media","l":"AI media","m":3,"h":["1. How zero-shot voice cloning works","2. Install Chatterbox","3. Prepare a reference clip","4. Generate speech in that voice","5. Consent, length, and the watermark","Verify it worked"],"cmd":"pip install chatterbox-tts","u":"2026-10-19"},{"p":"12.12","s":"describe-images-with-a-vision-model","t":"Describe and Query Images with a Local VLM","d":"Load Qwen3-VL-8B-Instruct with transformers, pass an image plus a question, and get captions, chart reads and answers on your own GPU.","c":"media","l":"AI media","m":3,"h":["1. What a vision-language model does","2. Install transformers","3. Load the model and processor","4. Ask a question about an image","5. Fit it on your GPU","Verify it worked"],"cmd":"pip install -U \"git+https://github.com/huggingface/transformers\" accelerate torchvision","u":"2026-10-19"},{"p":"12.13","s":"generate-video-with-ltx-locally","t":"Generate Video Locally with LTX (diffusers)","d":"Run Lightricks LTX-Video on your own GPU with a short diffusers script: LTXPipeline, text-to-video, frames and steps, plus the ComfyUI route.","c":"media","l":"AI media","m":3,"h":["1. Know your VRAM budget","2. Install diffusers","3. Get the weights","4. Render a clip","5. Frames, steps, and resolution","Verify it worked"],"cmd":"pip install -U diffusers transformers accelerate imageio imageio-ffmpeg torch","u":"2026-10-19"},{"p":"12.14","s":"run-ocr-locally","t":"Extract Text from PDFs and Images with Local OCR","d":"Install indra-ocr, run a CPU-only OCR model on an image, pull Markdown from a multi-page PDF, batch files, and find where the weights cache.","c":"media","l":"AI media","m":3,"h":["1. Pick a local OCR model","2. Install the package","3. OCR a single image","4. Extract a multi-page PDF","5. Batch many files","6. Find the cached weights","If it fails"],"cmd":"pip install indra-ocr","u":"2026-10-19"},{"p":"13.01","s":"chatgpt-clean-spreadsheet-data","t":"Clean Up Messy Spreadsheet Data with ChatGPT","d":"Upload the CSV to ChatGPT data analysis, describe the mess once, and get back a cleaned file plus a repeatable formula or script. Limits and traps.","c":"tasks","l":"Everyday tasks","m":3,"h":["1. Upload the file","2. Describe the mess as rules","3. Ask for a repeatable recipe","Verify it worked"],"cmd":null,"u":"2026-09-06"},{"p":"13.02","s":"chatgpt-analyze-csv-data","t":"How to Analyze a CSV with ChatGPT Data Analysis","d":"Upload a spreadsheet, get it cleaned, charted, and summarized — plus the limits worth knowing before you trust the numbers.","c":"tasks","l":"Everyday tasks","m":3,"h":["1. Upload","2. Ask what is in it first","3. Clean it","4. Chart it","What it does well","What it can't do","5. Always verify"],"cmd":null,"u":"2026-09-06"},{"p":"13.03","s":"summarize-pdf-locally-with-ollama","t":"How to Summarize a PDF Locally with Ollama","d":"Extract PDF text with pypdf, chunk it, summarize each chunk through the local Ollama API, and merge — about 30 lines, nothing uploaded.","c":"tasks","l":"Everyday tasks","m":3,"h":["1. Install","2. The whole script","3. When it misbehaves"],"cmd":"pip install pypdf requests\nollama pull llama3.2","u":"2026-09-06"},{"p":"13.04","s":"summarize-youtube-video-with-ai","t":"How to Summarize a YouTube Video with AI","d":"Pull the transcript with yt-dlp --convert-subs srt, then hand the .srt file to Claude or ChatGPT with a prompt that gives you timestamps, not mush.","c":"tasks","l":"Everyday tasks","m":3,"h":["1. Install yt-dlp","2. See what subtitles exist","3. Download the transcript only","4. Summarize it","Before you paste"],"cmd":"python -m pip install -U \"yt-dlp[default]\"","u":"2026-09-06"},{"p":"14.01","s":"codex-cli-first-steps","t":"How to Get Started with OpenAI Codex CLI","d":"Install Codex CLI with npm or Homebrew, sign in with ChatGPT, run your first task in a repo, and use /permissions to set what it can do. Copy-paste.","c":"agents","l":"Other coding agents","m":3,"h":["1. Install it","2. Sign in","3. Your first task","4. Decide what it may do without asking"],"cmd":"npm install -g @openai/codex","u":"2026-09-06"},{"p":"14.02","s":"aider-first-steps","t":"How to Start Using Aider","d":"Install Aider, point it at Claude or GPT with an API key, make your first edit, and control its git auto-commits. Copy-paste.","c":"agents","l":"Other coding agents","m":3,"h":["1. Install it","2. Launch it with a model","3. Make your first edit","4. The git part"],"cmd":"python -m pip install aider-install\naider-install","u":"2026-09-06"},{"p":"14.03","s":"github-copilot-cli-first-steps","t":"How to Use GitHub Copilot CLI in Your Terminal","d":"Install GitHub Copilot CLI, log in, ask it for a command or a code change, and control what it's allowed to run. Copy-paste.","c":"agents","l":"Other coding agents","m":3,"h":["1. Install it","2. Start it and log in","3. Ask it something","4. Permissions, directories, and sessions"],"cmd":"npm install -g @github/copilot","u":"2026-09-06"},{"p":"14.04","s":"windsurf-first-steps","t":"How to Start with Windsurf (Now Devin Desktop)","d":"Windsurf is now Devin Desktop. Install it, open a project, run a first agent task, and find where your rules live. Copy-paste.","c":"agents","l":"Other coding agents","m":3,"h":["1. First, the rename","2. Install it","3. Open a project","4. Run one agent task","5. Where rules live"],"cmd":"devin-desktop ~/Developer/my-project","u":"2026-09-06"},{"p":"14.05","s":"gemini-cli-mcp-and-extensions","t":"Gemini CLI: Add MCP Servers and Install Extensions","d":"Wire an MCP server into Gemini CLI's settings.json or add it with one command, check it with /mcp, and install a packaged extension.","c":"agents","l":"Other coding agents","m":4,"h":["1. Add a server by hand","2. Or add it with one command","3. Check it","4. Install an extension"],"cmd":"gemini mcp add --transport http company-api https://api.example.com/mcp \\\n  --header \"Authorization: Bearer $TOKEN\"","u":"2026-09-06"},{"p":"14.06","s":"agents-md-file","t":"AGENTS.md: one instructions file for every coding agent","d":"AGENTS.md is the cross-agent conventions file. Where to put it, what to write, which tools read it, and how Claude Code loads it next to CLAUDE.md.","c":"agents","l":"Other coding agents","m":3,"h":["1. Create AGENTS.md at the repo root","2. Write build, test, and conventions","Setup & build","Testing","Conventions","3. Know which tools read it","4. AGENTS.md vs CLAUDE.md in Claude Code","5. Migrate from a tool-specific file","Verify it worked"],"cmd":"mv AGENT.md AGENTS.md && ln -s AGENTS.md AGENT.md","u":"2026-10-19"},{"p":"14.07","s":"opencode-first-steps","t":"OpenCode: First Session with the Coding Agent","d":"Install the OpenCode CLI, connect a cloud or local Ollama model, open a project, give the agent a task, and compare it to Claude Code and Cursor.","c":"agents","l":"Other coding agents","m":3,"h":["1. Install the CLI","2. Start it in your project","3. Connect a provider or local model","4. Give the agent a task","5. How it compares to Claude Code and Cursor","If it fails"],"cmd":"curl -fsSL https://opencode.ai/install | bash","u":"2026-10-19"},{"p":"14.08","s":"codex-cli-mcp","t":"Add MCP servers to Codex CLI","d":"Enable MCP servers in OpenAI Codex CLI: config.toml location, the exact mcp_servers TOML shape, a worked example, and how to confirm it loaded.","c":"agents","l":"Other coding agents","m":3,"h":["1. Find the config file","2. Add a filesystem server","3. Or let the CLI write it","4. Add a remote HTTP server","5. Launch and confirm it loaded","Verify it worked"],"cmd":"codex mcp add filesystem -- npx -y @modelcontextprotocol/server-filesystem ~/projects","u":"2026-10-21"},{"p":"14.09","s":"coding-agents-compared","t":"AI coding agents compared: Claude Code, Codex, Cursor","d":"Compare Claude Code, Codex CLI, Copilot CLI, Cursor, OpenCode and Windsurf: terminal vs IDE, provider lock-in, MCP, open source and cost.","c":"agents","l":"Other coding agents","m":3,"h":["1. The comparison table","2. Terminal agents vs IDE agents","3. Model lock-in and open source","4. Current churn to know","5. Pick one and start","Verify it worked"],"cmd":null,"u":"2026-10-21"},{"p":"14.10","s":"devin-desktop-first-steps","t":"Getting started with Devin (Cognition)","d":"Access Devin by Cognition: the cloud web app, Devin Desktop IDE (formerly Windsurf), CLI and Slack, plus how it differs from terminal agents.","c":"agents","l":"Other coding agents","m":3,"h":["1. Sign in to the web app","2. Create your first session","3. Install Devin Desktop, the IDE","4. Delegate from Slack, the CLI or the API","5. How it fits vs terminal agents","Verify it worked"],"cmd":"curl -fsSL https://cli.devin.ai/install.sh | bash","u":"2026-10-21"},{"p":"14.11","s":"github-copilot-cli-authentication","t":"Authenticate GitHub Copilot CLI (login and GITHUB_TOKEN)","d":"Log in to GitHub Copilot CLI with /login, check your Copilot subscription, and set GITHUB_TOKEN for CI with the Copilot Requests permission.","c":"agents","l":"Other coding agents","m":3,"h":["1. Start the CLI and log in","2. Confirm your Copilot access","3. Create a token for non-interactive use","4. Export the token","Verify it worked"],"cmd":"copilot","u":"2026-10-21"},{"p":"15.01","s":"claude-api-first-request","t":"Your First Claude API Request: curl, Python, Node","d":"Get a key, set ANTHROPIC_API_KEY, and make a working Messages API call in curl, Python, and Node — then read the response properly.","c":"api","l":"Building with the API","m":3,"h":["1. Key and environment variable","2. curl","3. Python","4. Node","5. Read the response","Picking a model"],"cmd":"export ANTHROPIC_API_KEY=\"your-api-key-here\"","u":"2026-09-06"},{"p":"15.02","s":"claude-api-tool-use","t":"Claude API Tool Use","d":"Define a tool with a JSON schema, catch the tool_use block, run your function, and send back a tool_result — in a minimal Python loop.","c":"api","l":"Building with the API","m":4,"h":["1. Define the tool","2. What comes back","3. The loop","Errors and guarantees"],"cmd":null,"u":"2026-09-06"},{"p":"15.03","s":"claude-api-structured-output","t":"Get Reliable JSON Out of the Claude API","d":"Constrain replies with output_config.format, or use messages.parse with Pydantic and Zod, so the Claude API returns JSON that always validates.","c":"api","l":"Building with the API","m":3,"h":["Raw JSON schema","Python with Pydantic","TypeScript with Zod","Schema-valid tool arguments"],"cmd":null,"u":"2026-09-06"},{"p":"15.04","s":"claude-api-prompt-caching","t":"Prompt Caching in the Claude API with cache_control","d":"Cache a long system prompt or document with cache_control, confirm hits in the usage fields, and know when the 1.25x write cost pays for itself.","c":"api","l":"Building with the API","m":3,"h":["Mark the breakpoint","Confirm it actually hit","When it pays off"],"cmd":"curl https://api.anthropic.com/v1/messages \\\n  -H \"content-type: application/json\" \\\n  -H \"x-api-key: $ANTHROPIC_API_KEY\" \\\n  -H \"anthropic-version: 2023-06-01\" \\\n  -d '{\n    \"model\": \"claude-opus-5-5\",\n    \"max_tokens\": 1024,\n    \"system\": [\n      {\"type\": \"text\", \"text\": \"<the long document>\", \"cache_control\": {\"type\": \"ephemeral\"}}\n    ],\n    \"messages\": [{\"role\": \"user\", \"content\": \"Summarise section 3.\"}]\n  }'","u":"2026-09-06"},{"p":"15.05","s":"claude-api-batch-requests","t":"Claude Message Batches API: Bulk Jobs at Half Price","d":"Create a batch of Messages requests, poll processing_status, stream results by custom_id — and pay 50% less than synchronous calls.","c":"api","l":"Building with the API","m":3,"h":["1. Create the batch","2. Poll","3. Read the results","Cost and limits"],"cmd":"curl https://api.anthropic.com/v1/messages/batches \\\n  -H \"x-api-key: $ANTHROPIC_API_KEY\" \\\n  -H \"anthropic-version: 2023-06-01\" \\\n  -H \"content-type: application/json\" \\\n  -d '{\"requests\": [\n        {\"custom_id\": \"review-0\",\n         \"params\": {\"model\": \"claude-haiku-5-5\", \"max_tokens\": 16,\n                    \"messages\": [{\"role\": \"user\", \"content\": \"One word sentiment: Excellent quality!\"}]}}\n      ]}'","u":"2026-09-06"},{"p":"15.06","s":"openai-api-first-request","t":"Your First OpenAI API Request (Responses API)","d":"Create a key, set OPENAI_API_KEY, and make a working Responses API call in curl, Python, and Node — the API OpenAI recommends for new projects.","c":"api","l":"Building with the API","m":3,"h":["1. Key and environment variable","2. curl","3. Python","4. Node","5. System-style instructions and multi-turn input","Picking a model"],"cmd":"export OPENAI_API_KEY=\"your-api-key-here\"","u":"2026-09-06"},{"p":"15.07","s":"openai-api-structured-outputs","t":"OpenAI Structured Outputs: JSON Schema","d":"Constrain Responses API output with text.format json_schema, parse it straight into Pydantic or Zod, and reuse strict schemas for function calling.","c":"api","l":"Building with the API","m":4,"h":["Raw JSON schema","Python with Pydantic","JavaScript with Zod","The same schemas as function tools","Refusals"],"cmd":"curl https://api.openai.com/v1/responses \\\n  -H \"Content-Type: application/json\" \\\n  -H \"Authorization: Bearer $OPENAI_API_KEY\" \\\n  -d '{\n    \"model\": \"gpt-6-astra\",\n    \"input\": \"Extract: John Smith (john@example.com) wants the Enterprise plan.\",\n    \"text\": {\n      \"format\": {\n        \"type\": \"json_schema\",\n        \"name\": \"contact\",\n        \"strict\": true,\n        \"schema\": {\n          \"type\": \"object\",\n          \"properties\": {\n            \"name\": {\"type\": \"string\"},\n            \"email\": {\"type\": \"string\"},\n            \"plan\": {\"type\": \"string\"}\n          },\n          \"required\": [\"name\", \"email\", \"plan\"],\n          \"additionalProperties\": false\n        }\n      }\n    }\n  }'","u":"2026-09-06"},{"p":"15.08","s":"stream-llm-responses","t":"Stream LLM Responses: Claude and OpenAI","d":"Print tokens as they arrive from the Claude and OpenAI APIs — Python and JavaScript, plus the raw SSE events and how to detect the end.","c":"api","l":"Building with the API","m":4,"h":["Claude — Python","Claude — JavaScript","Claude — raw SSE","OpenAI — Python","OpenAI — JavaScript","Handling the end"],"cmd":"curl https://api.anthropic.com/v1/messages \\\n  -H \"content-type: application/json\" \\\n  -H \"x-api-key: $ANTHROPIC_API_KEY\" \\\n  -H \"anthropic-version: 2023-06-01\" \\\n  -d '{\"model\":\"claude-opus-5-5\",\"max_tokens\":4000,\"stream\":true,\n       \"messages\":[{\"role\":\"user\",\"content\":\"Write a haiku about rate limits.\"}]}'","u":"2026-09-06"},{"p":"15.09","s":"claude-agent-sdk-python-quickstart","t":"Claude Agent SDK for Python: Your First Agent","d":"Install claude-agent-sdk, run an agent that reads and edits real files, control which tools it may use, and read the final result.","c":"api","l":"Building with the API","m":4,"h":["1. Install","2. Set the key","3. Write the agent","4. Run it","5. Tighten it"],"cmd":"python3 -m venv .venv\nsource .venv/bin/activate\npip install claude-agent-sdk","u":"2026-09-06"},{"p":"15.10","s":"claude-agent-sdk-typescript-quickstart","t":"Claude Agent SDK for TypeScript: Your First Agent","d":"Install @anthropic-ai/claude-agent-sdk, stream an agent that edits real files, gate its tools, and read the final result message.","c":"api","l":"Building with the API","m":4,"h":["1. Install","2. Set the key","3. Write the agent","4. Run it","5. Read the result"],"cmd":"npm init -y\nnpm pkg set type=module\nnpm install @anthropic-ai/claude-agent-sdk\nnpm install --save-dev tsx","u":"2026-09-06"},{"p":"15.11","s":"claude-api-pdf-documents","t":"Send a PDF to the Claude API (With Page Citations)","d":"The document content block in Python, the page and size limits from the docs, citations that point at a page — and when to pre-extract text instead.","c":"api","l":"Building with the API","m":4,"h":["1. Python: a local PDF","2. Limits","3. Reading the citations back","4. When to pre-extract text instead"],"cmd":null,"u":"2026-09-06"},{"p":"15.12","s":"claude-api-thinking-and-effort","t":"Claude API Thinking and Effort","d":"Turn on adaptive thinking, read thinking blocks, set depth with output_config.effort (low to max), stream deltas, and know what budget_tokens does.","c":"api","l":"Building with the API","m":4,"h":["1. Turn it on and make it visible","2. Size it with effort, not a token budget","3. Stream it","4. What it costs","Rules that bite"],"cmd":"curl https://api.anthropic.com/v1/messages \\\n  -H \"x-api-key: $ANTHROPIC_API_KEY\" \\\n  -H \"anthropic-version: 2023-06-01\" \\\n  -H \"content-type: application/json\" \\\n  -d '{\"model\":\"claude-opus-5-5\",\"max_tokens\":16000,\n       \"thinking\":{\"type\":\"adaptive\",\"display\":\"summarized\"},\n       \"messages\":[{\"role\":\"user\",\"content\":\"Explain why 0.1 + 0.2 != 0.3 in floating point.\"}]}'","u":"2026-09-06"},{"p":"15.13","s":"claude-api-vision-images","t":"Send an Image to the Claude API (base64, URL, Files)","d":"The image content block in Python and curl, the format and size limits from the docs, and a screenshot-to-CSV extraction that doesn't invent numbers.","c":"api","l":"Building with the API","m":4,"h":["1. Python: a local file as base64","2. curl: an image by URL","3. Limits worth knowing","4. Use case: table out of a screenshot"],"cmd":"curl https://api.anthropic.com/v1/messages \\\n  -H \"x-api-key: $ANTHROPIC_API_KEY\" \\\n  -H \"anthropic-version: 2023-06-01\" \\\n  -H \"content-type: application/json\" \\\n  -d '{\n    \"model\": \"claude-opus-5-5\",\n    \"max_tokens\": 1024,\n    \"messages\": [{\"role\": \"user\", \"content\": [\n      {\"type\": \"image\", \"source\": {\"type\": \"url\",\n        \"url\": \"https://example.com/chart.png\"}},\n      {\"type\": \"text\", \"text\": \"What is the trend in this chart?\"}\n    ]}]\n  }'","u":"2026-09-06"},{"p":"15.14","s":"embeddings-explained-with-code","t":"Embeddings Explained, With Code","d":"What an embedding vector actually is, how to compute two and compare them in Python, and which model and dimension to pick.","c":"api","l":"Building with the API","m":3,"h":["Compute two and compare them","Which model, which dimension","What embeddings are bad at"],"cmd":null,"u":"2026-09-06"},{"p":"15.15","s":"gemini-api-first-request","t":"Your First Gemini API Request","d":"Get a Gemini API key from AI Studio, set GEMINI_API_KEY, install the google-genai SDK, and make a working request with the Interactions API.","c":"api","l":"Building with the API","m":2,"h":["1. Key","2. Python","3. JavaScript","4. curl","What differs from Claude and OpenAI"],"cmd":"export GEMINI_API_KEY=\"AIza...\"        # macOS/Linux","u":"2026-09-06"},{"p":"15.16","s":"openai-api-image-generation","t":"Generate Images with the OpenAI API (gpt-image)","d":"Two ways to make an image with the OpenAI API — the Images endpoint and the image_generation tool — save the PNG, set size, quality and format.","c":"api","l":"Building with the API","m":3,"h":["1. Key","2. Images API: prompt in, PNG out","3. Responses API: the model generates as a tool","4. The knobs","5. Edits"],"cmd":"export OPENAI_API_KEY=\"sk-...\"   # macOS/Linux; PowerShell: $env:OPENAI_API_KEY=\"sk-...\"\npip install openai","u":"2026-09-06"},{"p":"15.17","s":"openai-file-search-rag","t":"RAG Without a Vector Database: OpenAI File Search","d":"Upload files to an OpenAI vector store, attach the file_search tool to a Responses API call, and get cited answers. No embeddings code, no database.","c":"api","l":"Building with the API","m":3,"h":["1. Create a store and upload files","2. Ask a question","3. See what it retrieved","4. Filter by metadata","When to build your own instead"],"cmd":null,"u":"2026-09-06"},{"p":"15.18","s":"rag-with-python-minimal","t":"A Minimal RAG in Python: Folder In, Cited Answer Out","d":"Chunk a folder of Markdown, embed it with Voyage, retrieve top-k with a numpy dot product, and answer with Claude citing the chunks it used.","c":"api","l":"Building with the API","m":4,"h":["1. Install and set keys","2–5. The whole thing","What to fix first"],"cmd":"pip install anthropic voyageai numpy\nexport ANTHROPIC_API_KEY=\"your-key\"\nexport VOYAGE_API_KEY=\"your-key\"","u":"2026-09-06"},{"p":"15.19","s":"claude-api-files-api","t":"Upload and reuse files with the Claude Files API","d":"Upload a PDF once with the Claude Files API, reference it by file_id across requests in Python, then list and delete it.","c":"api","l":"Building with the API","m":3,"h":["1. Install the SDK and set ANTHROPICAPIKEY","2. Upload a file and capture the fileid","3. Reference the fileid in a Messages request","4. List and delete files","5. Limits and when to inline instead","Verify it worked"],"cmd":"pip install -U anthropic","u":"2026-10-21"},{"p":"15.20","s":"count-tokens-and-estimate-cost","t":"Count tokens and estimate API cost before you send","d":"Count tokens locally with tiktoken or Anthropic's count_tokens endpoint, then estimate cost from each provider's published per-token prices.","c":"api","l":"Building with the API","m":3,"h":["1. Count OpenAI tokens locally with tiktoken","2. Pick the encoding that matches your model","3. Count Claude tokens with the counttokens endpoint","4. Estimate cost from published per-token prices","5. Read the usage object from a real response","Verify it worked"],"cmd":"pip install tiktoken","u":"2026-10-21"},{"p":"15.21","s":"gemini-api-file-search","t":"Use Gemini API File Search (managed RAG)","d":"Create a managed File Search store with the google-genai SDK, import a file, query it with the file_search tool, and read citations.","c":"api","l":"Building with the API","m":3,"h":["1. Install google-genai and set GEMINIAPIKEY","2. Create a File Search store","3. Upload a file into the store and wait for indexing","4. Query with the filesearch tool","5. Read the answer and its citations","Verify it worked"],"cmd":"pip install -U google-genai","u":"2026-10-21"},{"p":"15.22","s":"gemini-api-structured-output","t":"Get structured JSON output from the Gemini API","d":"Make the Gemini API return JSON that matches a Pydantic schema with the google-genai SDK, then parse it into a typed object.","c":"api","l":"Building with the API","m":3,"h":["1. Install google-genai and pydantic","2. Define the schema as a Pydantic model","3. Request JSON with responseformat","4. Parse the response into the typed object","5. Constrain fields with enums","Verify it worked"],"cmd":"pip install -U google-genai pydantic","u":"2026-10-21"},{"p":"15.23","s":"openai-api-function-calling","t":"Call functions (tools) with the OpenAI API","d":"Give the model your own functions with the OpenAI Responses API: define a tool, run the call it returns, and send the result back in a loop.","c":"api","l":"Building with the API","m":3,"h":["1. Define a tool with a JSON-schema parameters block","2. Send it and read the functioncall item","3. Run your function and return a functioncalloutput","4. Loop until the model stops calling tools","5. Handle parallel tool calls","Verify it worked"],"cmd":"pip install openai","u":"2026-10-21"},{"p":"16.01","s":"hugging-face-cli-download-models","t":"Download Models from Hugging Face with the hf CLI","d":"Install the hf CLI, log in, download one GGUF instead of a whole repo with --include, put files where you want with --local-dir, and clean the cache.","c":"huggingface","l":"Hugging Face","m":3,"h":["1. Install","2. Log in (needed for gated repos)","3. Download one file, not 60 GB","4. Cache or a folder you choose","5. Keep the disk in check"],"cmd":"curl -LsSf https://hf.co/cli/install.sh | bash","u":"2026-09-06"},{"p":"16.02","s":"hugging-face-find-the-right-model","t":"How to Find the Right Model on Hugging Face","d":"Filter the Models page by task, library, language, license and size, read the sort signals and the model card, pick a file, and search from the API.","c":"huggingface","l":"Hugging Face","m":3,"h":["1. Filter the Models page","2. Read the sort signals","3. Read the model card","4. Pick a file in the Files tab","5. Search from the API"],"cmd":"hf models ls --search \"llama\" --sort downloads --limit 5","u":"2026-10-12"},{"p":"16.03","s":"hugging-face-cache-location","t":"Where the hf CLI downloads models and how to move it","d":"Find the hf CLI cache path on Windows, macOS and Linux, inspect it with hf cache ls, move it with HF_HOME, and prune old models.","c":"huggingface","l":"Hugging Face","m":3,"h":["1. Find the default cache path","2. See the path with hf cache ls and hf env","3. Move the cache to another drive","4. Clean old models and revisions","5. Work offline"],"cmd":"hf cache ls","u":"2026-10-12"},{"p":"16.04","s":"hugging-face-gated-models-access","t":"Access gated models (Llama, FLUX) and fix 401 errors","d":"Accept the model licence, create a read or fine-grained token, log in with hf auth login, set HF_TOKEN for CI, and fix 401/403 errors.","c":"huggingface","l":"Hugging Face","m":3,"h":["1. Accept the licence on the model page","2. Create a read or fine-grained token","3. Log in with hf auth login","4. Set HFTOKEN for scripts and CI","5. Use the token in Python","6. Fix 401 and 403 errors","Verify it worked"],"cmd":"hf auth login","u":"2026-10-12"},{"p":"16.05","s":"run-hugging-face-gguf-with-ollama-llama-cpp","t":"Run any GGUF from Hugging Face with Ollama or llama.cpp","d":"Pick a GGUF quant in the Files tab, then run it with ollama run hf.co/user/repo or llama-cli -hf user/repo:QUANT.","c":"huggingface","l":"Hugging Face","m":3,"h":["1. Find a GGUF repo and pick a quant","2. Run it with Ollama","3. Run it with llama.cpp","4. Handle gated repos","Verify it worked"],"cmd":"ollama run hf.co/bartowski/Llama-3.2-3B-Instruct-GGUF","u":"2026-10-12"},{"p":"16.06","s":"transformers-pipeline-quickstart","t":"Transformers pipeline(): Run a Hugging Face Model Locally","d":"Install PyTorch and transformers, chat with a small instruct model via pipeline(), set device_map, dtype and max_new_tokens, then classify an image.","c":"huggingface","l":"Hugging Face","m":3,"h":["1. Install","2. Chat with an instruct model","3. Length, device, precision","4. Same API, other modalities","5. Where the weights went","If it fails"],"cmd":"pip install -U \"transformers[torch]\"","u":"2026-10-12"},{"p":"16.07","s":"hugging-face-inference-providers-first-request","t":"Hugging Face Inference Providers: First API Request","d":"One HF token, one endpoint: call an open model with InferenceClient, the OpenAI SDK or curl, pick a provider, and see how billing works.","c":"huggingface","l":"Hugging Face","m":3,"h":["1. Token","2. InferenceClient (Python)","3. OpenAI SDK","4. curl","5. Provider and billing","If it fails"],"cmd":"export HF_TOKEN=\"hf_your_token_here\"","u":"2026-10-12"},{"p":"16.08","s":"hugging-face-datasets-load-stream-filter","t":"Load, Stream and Filter a Hugging Face Dataset in Python","d":"Load a Hub dataset split, inspect its features, stream one too big to download, filter and batch-map it, then save it as Parquet or JSONL.","c":"huggingface","l":"Hugging Face","m":3,"h":["1. Install and load a split","2. Look before you process","3. Filter, map, keep only what you need","4. Stream instead of downloading","5. Save the result","If it fails"],"cmd":"pip install -U datasets","u":"2026-10-12"},{"p":"16.09","s":"hugging-face-upload-model-or-dataset","t":"Upload a Model or Dataset with the hf CLI","d":"Log in, create a repo with hf repos create, push files with hf upload and include/exclude, write a minimal README card, and do the same from Python.","c":"huggingface","l":"Hugging Face","m":3,"h":["1. Log in","2. Create the repo","3. Upload a file or a folder","4. Add a README card","5. Handle large files","6. Do it from Python"],"cmd":"hf auth login","u":"2026-10-12"},{"p":"16.10","s":"deploy-gradio-app-hugging-face-spaces","t":"Deploy a Gradio App to Hugging Face Spaces","d":"Write a minimal Gradio app.py, add requirements.txt and a Space README, create the Space, push with the hf CLI, set secrets, and read the build logs.","c":"huggingface","l":"Hugging Face","m":3,"h":["1. Write app.py","2. Add requirements.txt and README","3. Create the Space","4. Push your files","5. Set secrets and hardware","6. Read the build logs"],"cmd":"hf repos create my-demo --repo-type space --sdk gradio","u":"2026-10-12"},{"p":"16.11","s":"hugging-face-mcp-server-claude-code","t":"Connect the Hugging Face MCP Server to Claude Code or Cursor","d":"Add https://huggingface.co/mcp with a read token so your agent searches models, datasets, papers and docs from the chat, and uses MCP Spaces as tools.","c":"huggingface","l":"Hugging Face","m":3,"h":["1. Create a read token","2. Add the server to Claude Code","3. Or add it to Cursor via mcp.json","4. Ask the agent to search the Hub","5. Add a Space as a tool","Verify it worked"],"cmd":"export HF_TOKEN=hf_xxx","u":"2026-10-12"},{"p":"16.12","s":"fix-huggingface-download-incomplete","t":"Fix stuck or incomplete Hugging Face downloads","d":"Resume a stuck hf download, clear broken .incomplete partials with hf cache prune, and speed transfers with hf_xet when disk space allows.","c":"huggingface","l":"Hugging Face","m":3,"h":["1. Re-run the same command","2. Clear broken partials","3. Speed it up with hfxet","4. Check disk and cache location","Verify it worked"],"cmd":"hf download bartowski/Meta-Llama-3.1-8B-Instruct-GGUF Meta-Llama-3.1-8B-Instruct-Q4_K_M.gguf","u":"2026-10-21"}]