MIT license, 141 contributors. Helps anyone shipping on fast-moving libraries.
Honest limit: only the MCP server is open source (backend, parser and crawler are private), and docs are community-contributed, so spot-check.
#MCP #AIcoding
upstash/context7
1 like · 10 views
How to stop Cursor and Claude Code from writing outdated API code with Context7
You ask your coding agent for a Next.js route, a Supabase sign-up form or a Cloudflare Worker, and it confidently writes code against an API that changed a year ago. Sometimes it invents a function that never existed. The model is not broken. Its training data is simply older than the library you installed last week.
Context7 from Upstash fixes this by pulling current, version-specific documentation and code examples straight from the source and putting them into your agent's context at the moment it needs them. It works in Cursor, Claude Code, VS Code and Codex, and its docs carry manual setup for 30+ MCP clients.
This guide covers the one-command setup, manual setup for Cursor and Claude Code, the prompts that make it work well, and a rule so you never have to remember to ask.
What you need
- Node.js 22.13 or newer (the ctx7 CLI requires it)
- Cursor, Claude Code, or another MCP client
- Optional but recommended: a free API key from the Context7 dashboard at context7.com/dashboard, which gives you higher rate limits
The fast way: one command
From any terminal:
npx ctx7 setup
This authenticates you with OAuth, generates an API key and installs the right pieces for your agent. You choose between two modes:
- CLI + Skills: installs a skill that tells your agent to fetch docs with ctx7 CLI commands. No MCP server needed.
- MCP: registers a Context7 MCP server so your agent can call the documentation tools natively.
To target one agent directly, add a flag:
npx ctx7 setup --cursor
npx ctx7 setup --claude
Changed your mind? npx ctx7 remove undoes the generated setup.
Manual setup in Claude Code
If you prefer to wire it yourself, Claude Code takes one command. The remote server version (nothing runs locally):
claude mcp add --scope user --header "Authorization: Bearer YOUR_API_KEY" --transport http context7 https://mcp.context7.com/mcp
Or run the server locally through npx:
claude mcp add --scope user context7 -- npx -y @upstash/context7-mcp --api-key YOUR_API_KEY
The --scope user flag makes Context7 available in every project, not just the current folder.
Manual setup in Cursor
Open Cursor Settings, then Tools & MCP, then New MCP Server. Context7 recommends putting the config in ~/.cursor/mcp.json (global) or .cursor/mcp.json inside a project if you only want it there:
{
"mcpServers": {
"context7": {
"url": "https://mcp.context7.com/mcp",
"headers": {
"Authorization": "Bearer YOUR_API_KEY"
}
}
}
}
Since Cursor 1.0 there is also a one-click install button on the Context7 docs page. If you want the local server instead, swap the url and headers for "command": "npx" and "args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"].
On Windows, the docs note one difference for local servers: run npx through cmd, with "command": "cmd" and "args": ["/c", "npx", "-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"].
Using it: add "use context7"
Once installed, the simplest trigger is to end your prompt with use context7. Two examples straight from the README:
Create a Next.js proxy that checks for a valid JWT in cookies
and redirects unauthenticated users to /login. use context7
Configure a Cloudflare Worker script to cache
JSON API responses for five minutes. use context7
Behind the scenes the MCP server exposes two tools. resolve-library-id turns a library name like Next.js into a Context7 ID such as /vercel/next.js. query-docs then fetches the relevant documentation and code examples for your question, and it accepts an optional language parameter so examples in your language rank first.
Two tips that make answers sharper
Name the library ID. If you already know the library, put its ID in the prompt and Context7 skips the matching step:
Implement basic authentication with Supabase. use library /supabase/supabase for API and docs.
Name the version. Mention the version you are on and Context7 matches docs for that version:
How do I set up a Next.js 16 proxy? use context7
This is the part people skip, and it matters. A generic answer about "Next.js middleware" is exactly the stale code you were trying to avoid.
Make it automatic with a rule
Typing use context7 every time gets old. If you installed with ctx7 setup, a skill already triggers Context7 for library questions. If you set it up manually, add a rule:
- In Cursor: Cursor Settings, then Rules
- In Claude Code: your CLAUDE.md
The rule the README suggests:
Always use Context7 when I need library/API documentation, code generation, setup or configuration steps without me having to explicitly ask.
Use the CLI without MCP
Context7 also works as a plain CLI, handy for checking what the agent will see:
npx ctx7 library "Next.js" "set up middleware"
npx ctx7 docs /vercel/next.js "set up middleware"
The first searches the index and returns matching library IDs. The second pulls docs for a given ID and question.
Things to know before you rely on it
- The libraries in Context7 are community contributed. The README says plainly that Upstash cannot guarantee the accuracy, completeness or security of every library's docs, and there is a Report button for anything suspicious.
- The GitHub repo holds the MCP server. The API backend, parsing engine and crawler behind it are private.
- If your library is missing, you can submit it from the Context7 site.
Where to go next
We keep a short, plain-English write-up of this exact workflow, with who it is for and what can go wrong: How to set up Context7 MCP so your agent uses current docs.
If you live in Cursor, our list of AI use cases for Cursor collects other repos that plug into it. And if Context7 made you curious about what else MCP can add to your editor, see our ranked list of the best open-source MCP servers.
Deduped tracks the AI repos people are actually building with and writes up how to use them. Repo: upstash/context7.
---
Get one email every Monday with the week's hottest AI repos and exactly how to use them: subscribe free at dedupedai.com
Context7 in Claude Code: setup, keeping the API key out of your repo, and fixing 401s
---
title: "Context7 in Claude Code: setup, keeping the API key out of your repo, and fixing 401s"
published: true
tags: mcp, claude, ai, devtools
canonical_url: agenttaskatlas.com
description: "ctx7 setup, the official plugin, or claude mcp add with the key read from an env var, a secret-free .mcp.json for teams, and sourced fixes for 401s, rate limits and npx errors."
---
Context7 gives Claude Code current, version-specific library docs through two tools, resolve-library-id and query-docs. The hosted server at https://mcp.context7.com/mcp needs no local Node.js; an API key is optional, but Upstash recommends a free one for higher rate limits. Your library names and queries are sent to Context7's hosted service, whose backend is private.
The steps below summarize the official docs (the Context7 README, Context7's Claude Code page and troubleshooting page, and the Claude Code docs on MCP and permissions), checked on 2026-10-27. They are based on the official docs, not hands-on tested; if something differs on your version, the linked docs win. The original version of this guide lives at AgentTask Atlas: How to connect the Context7 MCP server to Claude Code.
1. Check what you need
Nothing for the hosted server except outbound HTTPS. For an API key, create one in the Context7 dashboard (context7.com/dashboard); keys start with ctx7sk. The local npx server needs Node.js 20 or newer, and the ctx7 setup CLI needs Node.js 22.13 or newer.
2. Fastest: let ctx7 set it up
npx ctx7 setup --claude
It signs you in with an OAuth device flow (a link and short code you can open on any device, so it also works over SSH), generates an API key and lets you choose CLI + skill mode or MCP mode. Undo it later with npx ctx7 remove.
3. Or install the Context7 plugin
Run these inside Claude Code, restart it, then open /mcp, select Context7 and finish the browser sign-in:
/plugin marketplace add upstash/context7
/plugin install context7@context7-marketplace
No API key is needed, and the plugin does not read CONTEXT7_API_KEY, so use the next step on headless, SSH or CI hosts.
4. Manual: hosted server with the key from an env var
export CONTEXT7_API_KEY="YOUR_API_KEY" # better: load it from your secret manager or shell profile
claude mcp add --scope user --header "Authorization: Bearer $CONTEXT7_API_KEY" --transport http context7 https://mcp.context7.com/mcp
--scope user makes it available in every project and stores it in ~/.claude.json, outside your repository. To skip the key and sign in with OAuth instead, use https://mcp.context7.com/mcp/oauth without the header and authenticate from /mcp.
5. Share it with the team without committing the key
Claude Code expands ${VAR} in the url and headers of a project's .mcp.json, so each teammate sets CONTEXT7_API_KEY in their own environment and the file stays secret-free:
{
"mcpServers": {
"context7": {
"type": "http",
"url": "https://mcp.context7.com/mcp",
"headers": { "Authorization": "Bearer ${CONTEXT7_API_KEY}" }
}
}
}
Claude Code asks each person to approve project-scoped servers the first time.
6. Or run it locally over stdio
claude mcp add --env CONTEXT7_API_KEY="$CONTEXT7_API_KEY" --transport stdio context7 -- npx -y @upstash/context7-mcp
Pass the key with --env instead of --api-key on the command line. Keep --transport stdio between --env and the server name: if the name comes right after --env, the CLI reads it as another KEY=value pair.
7. Check the connection
claude mcp list
claude mcp get context7
# in a session:
use context7 with /vercel/next.js for app router setup
claude mcp list should show context7 as connected. Adding the library ID (/owner/repo) skips the lookup step.
Troubleshooting (from the official docs)
- Rate-limit errors: add a free API key as an Authorization: Bearer header (remote) or CONTEXT7_API_KEY / --api-key (local).
- 401, and claude mcp list shows Failed to connect: check the key starts with ctx7sk and the header reads exactly Authorization: Bearer <key>. Claude Code reports a rejected header as a failed connection rather than offering OAuth.
- Warning about a missing variable: CONTEXT7_API_KEY isn't set in the shell that launched Claude Code. Export it first, or use a ${VAR:-default} fallback.
- ERR_MODULE_NOT_FOUND / Cannot find module 'uriTemplate.js' locally: use Node.js 20+ and @upstash/context7-mcp@latest, try bunx or deno, or use the hosted URL.
- 404 for a library: IDs look like /owner/repo or /owner/repo/version; let resolve-library-id find it first.
- Corporate proxy: set https_proxy / HTTPS_PROXY (in the server's env for stdio), then check curl https://mcp.context7.com/ping returns pong.
- "already exists in local config": run claude mcp remove context7 first, or add it under a different scope.
Notes
- Context7's 2 tool definitions measured about 1,060 tokens (o200k) on @upstash/context7-mcp 4.4.4, one of the lightest servers on our MCP tool budget table.
- Every query text leaves your machine for Context7's service, so don't paste secrets or proprietary code into one.
- An allow rule for mcp__context7__* in .claude/settings.json stops the per-call prompt; leave it out to keep confirming each lookup.
- Library docs on Context7 are community-contributed; Upstash says it can't guarantee their accuracy or security.
Platforma Context7 -- aktuální dokumentace pro AI agenty
1 like
3 MCP Servers That Make Your AI Coding Assistant More Useful
Your AI can explain the task. These three MCP connections help it work with the tools and information the task needs.
• Context7 — library documentation and code examples.
• Playwright — browser navigation, interaction, and page inspection.
• GitHub MCP — repositories, issues, and pull requests.
See how they fit into one workflow: read a bug report, check the documentation, then verify the fix in a browser.
Start with the connection that solves your bottleneck. Keep access limited and review changes before they go live.
Follow Stack Made Clear.
Understand the tech. Know when to use it.
Official resources:
Context7: upstash/context7
Playwright MCP: microsoft/playwright-mcp
GitHub MCP: github/github-mcp-server
Interfaces shown are illustrative animations.
7 likes · 742 views
Best GitHub repos for Claude Code? 4 we actually ran
Best GitHub repos for Claude Code: rea, Playwright MCP, Context7 and Chrome DevTools MCP, each run in a real test
Four GitHub repos for Claude Code, each run for real in a throwaway sandbox (sped up parts marked on screen). rea and the control test: 16 Oct. Playwright MCP and Context7: 16 Oct takes. Chrome DevTools MCP: take of 18 Oct. Star counts as of 18 Oct.
morluto/rea
microsoft/playwright-mcp
upstash/context7
ChromeDevTools/chrome-devtools-mcp
Full test: youtube.com
Subscribe to @readmelied for more tools we run and check against their README.
README Lied runs trending open-source tools in a sandbox and checks what they really do against what their README says. New tests every week.
#ai #github #coding #readmelied #claudecode #playwright
2 likes · 2 comments · 346 views
Testei +100 Repos do GitHub: Esses 10 São os Melhores!
🚀 Quer automações com IA para sua empresa? Desenvolvo soluções sob medida. Agende um diagnóstico gratuito: link.devaprender.com
Testei centenas de skills e repositórios do GitHub para automatizar o meu negócio e o de outras pessoas com o Claude Code, e neste vídeo eu mostro quais ficaram na minha rotina. São ferramentas que escrevem melhor, controlam um navegador de verdade, mexem em planilhas, agenda e documentos, conectam o Claude a centenas de apps, criam vídeos com código e fazem auditoria de segurança. Tudo isso rodando no dia a dia, com demonstração real na tela.
Muita coisa aqui não é skill famosa, daquelas que você ouve todo dia no Instagram, e praticamente ninguém conhece. Se você quer automatizar uma empresa com inteligência artificial, usar agentes de IA no trabalho ou até vender automação como serviço, essa lista vai te poupar semanas de teste. Fica até o final e se inscreve no canal para acompanhar mais vídeos como esse.
No AI Slop: petergyang/no-ai-slop
Playwright CLI: microsoft/playwright-cli
Claude in Chrome: claude.com
Google Workspace CLI (gws): googleworkspace/cli
Composio: ComposioHQ/composio
Remotion: remotion-dev/remotion
Remotion skills: remotion-dev/skills
Context7: upstash/context7
Web Scraping Skills (Thirdwatch): thirdwatch-dev/scraping-skills
Camoufox: daijro/camoufox
Cloudflare Security Audit: cloudflare/security-audit-skill
0:00 Introdução
0:29 No AI Slop: texto sem cara de IA
1:59 Google Workspace CLI
2:34 Playwright CLI
4:14 Claude in Chrome
5:24 Composio CLI
6:47 Remotion: vídeos animados com código
7:18 Context7: documentação atualizada
7:54 Skills de Web Scraping Antibot
8:35 Bônus: Camoufox
9:00 Security Audit Skill da Cloudflare
9:32 Encerramento
CONTATO COMERCIAL(não respondo dúvidas de videos)
------------------------
jhonatan@devaprender.com
124 likes · 4 comments · 4,254 views
AI coding suggestions using outdated APIs? 📚
Context7 brings current library docs and examples into your coding agent's context. Check the right reference first. 🔌
upstash/context7
#MCP #浇朋友 #蓝朋友 #互关 #fo
2 likes · 43 views
AI 写代码,老拿过期 API 举例?📚
Context7 把较新的库文档和代码示例送进编程助手上下文。少走一些查文档的弯路。🔌
upstash/context7
#MCP #浇朋友 #蓝朋友 #互关 #fo
2 likes · 63 views
Claude Code でメモアプリを作って Microsoft Store に公開するまでにやった工夫
はじめに
マークダウンのメモアプリ Sirusita を、Claude Code にほぼすべて書いてもらって作りました。最後は Microsoft Store で公開しています。
- 技術スタック: Wails v2(Go)+ Svelte 5 + Monaco Editor
- 配布: GitHub Releases / Microsoft Store / Web 版(GitHub Pages)
!Sirusita のメイン画面
この記事では、コードの中身よりも「AI に開発を任せるための環境と進め方」で工夫した点をまとめます。どの話も深入りはせず、ほかの人が試せそうなところを広く拾いました。
全体の流れ
Docker Sandboxes の中の Claude Code
├─ コードを書く・テストする(Go / Node / Wails はすべて Docker の中)
├─ gh コマンドで GitHub を操作(push、Actions の結果確認)
└─ CLAUDE.md の更新(AI に任せる)
│ v* タグを push
▼
GitHub Actions
├─ release.yml … Windows の exe を作って Release に添付
├─ msix.yml … MSIX を作って Artifact に置く
└─ pages.yml … Web 版を GitHub Pages に公開(main への push で)
│ MSIX をダウンロード
▼
Partner Center(ここだけ手作業)… MSIX を登録して申請
1. Claude Code に入れたもの
superpowers(作業の手順を決めるスキル集)
superpowers は、Claude Code に「作業の進め方」を教えるスキル集です。ブレインストーミング、計画、TDD、デバッグ、「完了と言う前に検証する」といった手順が入っています。
特に効くのは「検証してから完了と言う」です。「直しました」と言う前にテストを実行し、その結果を見せるようになります。
Context7(ライブラリの最新ドキュメントを引く MCP)
Svelte 5(runes)や Vite 7、Tailwind CSS 4 は、AI が学習した時点から書き方が変わっていることがあります。Context7 を入れ、ライブラリの話になったら先に最新のドキュメントを引くように指示しました。
指示はグローバルの ~/.claude/rules/ に置いたので、どのプロジェクトでも効きます。
AWS MCP
Web 版の独自ドメインは Route 53 で管理しています。AWS の作業も Claude Code から頼めるように、AWS MCP も入れました。
2. Docker Sandboxes で --dangerously-skip-permissions を使う
Claude Code は、ファイルの編集やコマンドの実行のたびに許可を求めてきます。安全ですが、長い作業だと何度も止まります。
--dangerously-skip-permissions を付けると確認なしで進みますが、手元の PC でそのまま使うのは怖いです。そこで Docker Sandboxes(sbx コマンド)を使いました。エージェントを microVM の中で動かす仕組みで、サンドボックスごとに Docker デーモン・ファイルシステム・ネットワークが分かれています。
sbx run claude --branch my-feature
sbx run claude で起動すると、Claude Code は最初から --dangerously-skip-permissions 付きで立ち上がります。ただ、私は VS Code から作業したかったので、次の順で使っています。
1. サンドボックスを bash(シェル)で起動し、SSH を有効にする
2. VS Code の Remote - SSH で、サンドボックスに接続する
3. VS Code のターミナルで、Claude Code を起動する
claude --dangerously-skip-permissions
こうすると、AI には確認なしで作業させつつ、変わったファイルは VS Code で開いて確かめられます。
Claude Code にも、組み込みのサンドボックス(/sandbox)があります。それでも Docker Sandboxes を選んだ理由は 2 つです。
- 組み込みのサンドボックスで隔離されるのは、Bash のコマンドだけ。ファイルの編集ツール、MCP サーバー、hooks は、ホストの上でそのまま動きます。Docker Sandboxes なら、Claude Code のプロセス全体が microVM の中に入ります
- 組み込みのサンドボックスは docker コマンドと相性が悪い。公式ドキュメントでも docker は非対応とされていて、使うには excludedCommands でサンドボックスの外に出す必要があります。このプロジェクトはビルドもテストも docker run で行うので、それでは肝心のコマンドが隔離の外で動いてしまいます。Docker Sandboxes にはサンドボックスごとに専用の Docker デーモンがあるので、docker run も隔離の中で動きます
隔離された中だから、確認を省いて任せられる。Docker Sandboxes と --dangerously-skip-permissions の組み合わせで、「テストが通るまで直して」のような長い作業を放っておけるようになりました。
ただし、サンドボックスに GitHub の認証情報を渡していれば、push などの外部への操作はできてしまいます。何を任せるかは決めておく必要があります。
外部へのアクセスも絞っています。Docker Sandboxes は最初の設定で、ネットワークの方針を 3 つから選べます。
- Open: すべて許可
- Balanced: 基本は拒否し、開発でよく使うサイトだけ許可
- Locked Down: ほぼすべて拒否
私は真ん中の Balanced を選びました。足りないサイトが出てきたら、そのつど sbx policy で許可に足しています。最初から全部開けるよりも安全で、全部閉じるほど手間もかかりません。
あわせて、ビルドもすべて Docker の中で完結させています。ホストには Go も Node も入れていません。
docker run --rm -v "$PWD":/app -w /app wails-dev go test ./...
docker run --rm -v "$PWD":/app -w /app wails-dev wails build -platform windows/amd64
手元で確かめるときは、Windows の exe も mingw-w64 を使って Linux のコンテナの中でクロスビルドできます。AI に「ビルドして確かめて」と頼むとき、環境の違いで悩まずに済みます。
3. CLAUDE.md のメンテナンスも AI に任せた
CLAUDE.md は、プロジェクトの説明を Claude Code に毎回読ませるファイルです。この更新も AI に任せています。ファイルを増やしたら構成の一覧に足す、ハマったことは注意点として残す、という具合です。
実際に CLAUDE.md に残った注意点の例です。
- svelte.config.js の vitePreprocess({ script: true }) は必須。flowbite-svelte が TypeScript 入りの .svelte を配布していて、これがないとビルドが壊れる
- MSIX を作る PowerShell スクリプトは ASCII だけで書く。Windows PowerShell 5.1 は BOM なしのファイルを ANSI として読むため
- Web 版は外部の CDN を使わない(プライバシーの方針)。そのため Google Fonts もやめた
人間がこまめに書き足すのは続きません。AI に「同じ失敗を次の自分(AI)がしないように書いておいて」と頼むと、自然に育っていきます。ときどき読み返して、古くなった記述を消すように頼む程度で十分でした。
4. GitHub の操作は MCP ではなく gh コマンドで
GitHub には公式の MCP サーバーもありますが、このプロジェクトでは gh コマンドを AI に使わせることにしました。理由は 3 つです。
- AI が gh をよく知っている。学習データに使い方がたくさんあるので、説明しなくても使える
- できることが広い。gh api で REST API を直接呼べるので、MCP にない操作もできる(例: GitHub Pages の状態の確認や設定の変更)
- 出力を絞れる。--json と -q(jq の式)で必要な項目だけ取り出せるので、出力をそのまま読むより、コンテキストの消費を抑えられる
たとえば、push したあとの Actions を待って結果を見るのはこうです。
gh run list --limit 3
gh run watch <run-id> --exit-status
Web 版の HTTPS がうまく有効にならなかったときも、gh api repos/<owner>/<repo>/pages/health を見て、証明書がまだ発行されていないことを AI が自分で突き止めました。
5. MSIX のビルドは GitHub Actions で完結
Microsoft Store に出すには MSIX というパッケージが必要です。MSIX を作る MakeAppx は Windows SDK のツールで、Windows でしか動きません。Linux で作る方法もありますが、公式の手順どおりに確実に作れるよう、ここだけ GitHub Actions の windows-latest で作ることにしました。
- v1.7.0 のようなタグを push すると、exe の Release 用と MSIX 用のワークフローが同時に動く
- タグの X.Y.Z を、そのまま MSIX のバージョン(X.Y.Z.0)に使う
- MSIX は未署名のまま Artifact に置く。Store が審査のあとで署名してくれるので、証明書を用意しなくてよい
ワークフローで気をつけたのは、タグ名や入力値を run: の中に ${{ }} で直接書かないことです。env: を経由して渡します。直接書くとスクリプトとして解釈されるおそれがあるためです。
- name: Decide version
shell: bash
env:
INPUT_VERSION: ${{ github.event.inputs.version }}
run: echo "version=${INPUT_VERSION}" >> "$GITHUB_OUTPUT"
6. Store への登録はあえて手動に
Partner Center への申請も API で自動化できますが、手動のままにしました。
- 申請の回数は多くないので、自動化の手間に見合わない
- Partner Center の認証情報を CI に置かなくてよい
- 説明文やスクリーンショットは、どうせ人間が見て決めたい
その代わり、Partner Center に入力する内容は docs/store-submission.md に控えとして全部書いてあります。AI に書かせたものです。説明文、キーワード、年齢区分の回答、runFullTrust が必要な理由(Wails のデスクトップアプリなので)、審査担当者への注意書きまで入っています。次の更新では、Artifact から MSIX をダウンロードし、控えをコピーして貼るだけで終わります。
Store に出してみて分かったことも少し書いておきます。
- 製品の種類は「MSIX または PWA アプリ」を選ぶ。あとから変えられない
- プライバシーポリシーの URL が必須。リポジトリの PRIVACY.md の URL を使った
- スクリーンショットは 1366×768 以上が 1 枚以上必要
!Microsoft Store のページ
7. そのほか、やってよかったこと
- Web 版も作った。Go の部分(D2 の図の描画やインポートの解析)を WebAssembly にして、同じ画面をブラウザで動かしています。「インストールせずに試せる」入口があると、紹介しやすくなります
- サンプル集をアプリに同梱。言語の文法やコマンドのチートシートも AI に書かせました。そのうえで、「載っているコマンドの誤りを確かめて」「表が崩れていないか見て」と、AI に見直しもさせています
!サンプル集から追加
- 生成物はスクリプトから作り、CI で確かめる。A4 横の SVG チートシートは手で書かず、Node のスクリプトで生成しています。CI では、生成結果が最新か、詳しい版のメモと内容が合っているかを確かめます。AI が「直接 SVG を手直し」して、元のデータとずれるのを防ぐためです
- コミットのプレフィックス(feat: / fix: / chore:)を決めておく。これを CLAUDE.md に書いておけば、AI のコミットメッセージもそろいます
まとめ
- 隔離環境(Docker Sandboxes)を用意すると、AI に確認なしで長く任せられる。docker を使うプロジェクトでは、組み込みのサンドボックスより Docker Sandboxes が合う
- superpowers で進め方を、Context7 で最新の知識を、CLAUDE.md でプロジェクトの記憶を補う。CLAUDE.md の更新も AI に任せる
- GitHub の操作は gh で十分。むしろ扱いやすい
- 自動化は「ビルドまで」にして、Store への申請は手動。その代わり手順と入力内容は文書に残す
Sirusita の紹介
最後に、できあがったアプリの紹介です。
Sirusita は、技術メモやコマンド集をマークダウンで書きためる、開発者向けのシンプルなメモアプリです。編集機能は Obsidian ほど多くありません。その代わり、マークダウンや図・数式の書き方をまとめたサンプル集を最初から同梱し、書き方に迷ったらすぐ引いて、そのままメモに追加できるようにしました。分割表示でプレビューを横に見ながら書けるので、マークダウンを覚えながら使えます。
ちなみに Sirusita という名前は、Markdown を mark + down に分けて和訳した「印+下=しるした」から付けました(メモを「記した」にも掛けています)。
もう 1 つ工夫したのが階層タグです。技術メモは数が増えるとタグも増えて探しにくくなるので、プログラミング/Go のように / で区切ったタグを、サイドバーでツリーとして表示するようにしました。
▾ プログラミング (5)
Go (1)
Rust (1)
▾ コマンド (6)
docker (2)
- 親のタグ(プログラミング)を選ぶと、その下のタグが付いたメモもまとめて表示される
- a/b/c を付けるだけで、途中の a と a/b も自動でツリーに出る
- タグ名を変えると、その下のタグもまとめて付け替わる。PlantUML を 図表/PlantUML に変えれば、あとから階層の下へ移せる。作成・更新日時は変わらない
主な機能は次のとおりです。
- マークダウンで書いて、横のプレビューで確認できる。数式(KaTeX)、図(Mermaid / D2)、コードのシンタックスハイライトに対応
- 階層タグでメモを整理(上で紹介した仕組み)
- チートシート集を同梱。Go・Rust・Python などの文法、Docker・Git・bash のコマンド、正規表現などを、選んでメモに追加できる。Git・Docker・bash・正規表現には、A4 横の 1 枚にまとめた「1画面版」もある
- マークダウンや ZIP のインポートと、マークダウンのエクスポートに対応(ドラッグ&ドロップも可)
- オフラインで動作。メモは PC の中(Web 版はブラウザの中)だけに保存され、どこにも送信しない
!Git コマンド 1画面版
| 入手先 | URL |
|---|---|
| Web 版(インストール不要) | sirusita.e17.click |
| Windows(Microsoft Store) | apps.microsoft.com |
| GitHub(MIT ライセンス) | morststs/sirusita |
触ってみての感想や要望は、GitHub の Issue やこの記事のコメントでいただけるとうれしいです。
4 likes · 1 comment
Mentions
MIT license, 141 contributors. Helps anyone shipping on fast-moving libraries. Honest limit: only the MCP server is open source (backend, parser and crawler are private), and docs are community-contributed, so spot-check. #MCP #AIcoding upstash/context7
How to stop Cursor and Claude Code from writing outdated API code with Context7 You ask your coding agent for a Next.js route, a Supabase sign-up form or a Cloudflare Worker, and it confidently writes code against an API that changed a year ago. Sometimes it invents a function that never existed. The model is not broken. Its training data is simply older than the library you installed last week. Context7 from Upstash fixes this by pulling current, version-specific documentation and code examples straight from the source and putting them into your agent's context at the moment it needs them. It works in Cursor, Claude Code, VS Code and Codex, and its docs carry manual setup for 30+ MCP clients. This guide covers the one-command setup, manual setup for Cursor and Claude Code, the prompts that make it work well, and a rule so you never have to remember to ask. What you need - Node.js 22.13 or newer (the ctx7 CLI requires it) - Cursor, Claude Code, or another MCP client - Optional but recommended: a free API key from the Context7 dashboard at context7.com/dashboard, which gives you higher rate limits The fast way: one command From any terminal: npx ctx7 setup This authenticates you with OAuth, generates an API key and installs the right pieces for your agent. You choose between two modes: - CLI + Skills: installs a skill that tells your agent to fetch docs with ctx7 CLI commands. No MCP server needed. - MCP: registers a Context7 MCP server so your agent can call the documentation tools natively. To target one agent directly, add a flag: npx ctx7 setup --cursor npx ctx7 setup --claude Changed your mind? npx ctx7 remove undoes the generated setup. Manual setup in Claude Code If you prefer to wire it yourself, Claude Code takes one command. The remote server version (nothing runs locally): claude mcp add --scope user --header "Authorization: Bearer YOUR_API_KEY" --transport http context7 https://mcp.context7.com/mcp Or run the server locally through npx: claude mcp add --scope user context7 -- npx -y @upstash/context7-mcp --api-key YOUR_API_KEY The --scope user flag makes Context7 available in every project, not just the current folder. Manual setup in Cursor Open Cursor Settings, then Tools & MCP, then New MCP Server. Context7 recommends putting the config in ~/.cursor/mcp.json (global) or .cursor/mcp.json inside a project if you only want it there: { "mcpServers": { "context7": { "url": "https://mcp.context7.com/mcp", "headers": { "Authorization": "Bearer YOUR_API_KEY" } } } } Since Cursor 1.0 there is also a one-click install button on the Context7 docs page. If you want the local server instead, swap the url and headers for "command": "npx" and "args": ["-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"]. On Windows, the docs note one difference for local servers: run npx through cmd, with "command": "cmd" and "args": ["/c", "npx", "-y", "@upstash/context7-mcp", "--api-key", "YOUR_API_KEY"]. Using it: add "use context7" Once installed, the simplest trigger is to end your prompt with use context7. Two examples straight from the README: Create a Next.js proxy that checks for a valid JWT in cookies and redirects unauthenticated users to /login. use context7 Configure a Cloudflare Worker script to cache JSON API responses for five minutes. use context7 Behind the scenes the MCP server exposes two tools. resolve-library-id turns a library name like Next.js into a Context7 ID such as /vercel/next.js. query-docs then fetches the relevant documentation and code examples for your question, and it accepts an optional language parameter so examples in your language rank first. Two tips that make answers sharper Name the library ID. If you already know the library, put its ID in the prompt and Context7 skips the matching step: Implement basic authentication with Supabase. use library /supabase/supabase for API and docs. Name the version. Mention the version you are on and Context7 matches docs for that version: How do I set up a Next.js 16 proxy? use context7 This is the part people skip, and it matters. A generic answer about "Next.js middleware" is exactly the stale code you were trying to avoid. Make it automatic with a rule Typing use context7 every time gets old. If you installed with ctx7 setup, a skill already triggers Context7 for library questions. If you set it up manually, add a rule: - In Cursor: Cursor Settings, then Rules - In Claude Code: your CLAUDE.md The rule the README suggests: Always use Context7 when I need library/API documentation, code generation, setup or configuration steps without me having to explicitly ask. Use the CLI without MCP Context7 also works as a plain CLI, handy for checking what the agent will see: npx ctx7 library "Next.js" "set up middleware" npx ctx7 docs /vercel/next.js "set up middleware" The first searches the index and returns matching library IDs. The second pulls docs for a given ID and question. Things to know before you rely on it - The libraries in Context7 are community contributed. The README says plainly that Upstash cannot guarantee the accuracy, completeness or security of every library's docs, and there is a Report button for anything suspicious. - The GitHub repo holds the MCP server. The API backend, parsing engine and crawler behind it are private. - If your library is missing, you can submit it from the Context7 site. Where to go next We keep a short, plain-English write-up of this exact workflow, with who it is for and what can go wrong: How to set up Context7 MCP so your agent uses current docs. If you live in Cursor, our list of AI use cases for Cursor collects other repos that plug into it. And if Context7 made you curious about what else MCP can add to your editor, see our ranked list of the best open-source MCP servers. Deduped tracks the AI repos people are actually building with and writes up how to use them. Repo: upstash/context7. --- Get one email every Monday with the week's hottest AI repos and exactly how to use them: subscribe free at dedupedai.com
Context7 in Claude Code: setup, keeping the API key out of your repo, and fixing 401s --- title: "Context7 in Claude Code: setup, keeping the API key out of your repo, and fixing 401s" published: true tags: mcp, claude, ai, devtools canonical_url: agenttaskatlas.com description: "ctx7 setup, the official plugin, or claude mcp add with the key read from an env var, a secret-free .mcp.json for teams, and sourced fixes for 401s, rate limits and npx errors." --- Context7 gives Claude Code current, version-specific library docs through two tools, resolve-library-id and query-docs. The hosted server at https://mcp.context7.com/mcp needs no local Node.js; an API key is optional, but Upstash recommends a free one for higher rate limits. Your library names and queries are sent to Context7's hosted service, whose backend is private. The steps below summarize the official docs (the Context7 README, Context7's Claude Code page and troubleshooting page, and the Claude Code docs on MCP and permissions), checked on 2026-10-27. They are based on the official docs, not hands-on tested; if something differs on your version, the linked docs win. The original version of this guide lives at AgentTask Atlas: How to connect the Context7 MCP server to Claude Code. 1. Check what you need Nothing for the hosted server except outbound HTTPS. For an API key, create one in the Context7 dashboard (context7.com/dashboard); keys start with ctx7sk. The local npx server needs Node.js 20 or newer, and the ctx7 setup CLI needs Node.js 22.13 or newer. 2. Fastest: let ctx7 set it up npx ctx7 setup --claude It signs you in with an OAuth device flow (a link and short code you can open on any device, so it also works over SSH), generates an API key and lets you choose CLI + skill mode or MCP mode. Undo it later with npx ctx7 remove. 3. Or install the Context7 plugin Run these inside Claude Code, restart it, then open /mcp, select Context7 and finish the browser sign-in: /plugin marketplace add upstash/context7 /plugin install context7@context7-marketplace No API key is needed, and the plugin does not read CONTEXT7_API_KEY, so use the next step on headless, SSH or CI hosts. 4. Manual: hosted server with the key from an env var export CONTEXT7_API_KEY="YOUR_API_KEY" # better: load it from your secret manager or shell profile claude mcp add --scope user --header "Authorization: Bearer $CONTEXT7_API_KEY" --transport http context7 https://mcp.context7.com/mcp --scope user makes it available in every project and stores it in ~/.claude.json, outside your repository. To skip the key and sign in with OAuth instead, use https://mcp.context7.com/mcp/oauth without the header and authenticate from /mcp. 5. Share it with the team without committing the key Claude Code expands ${VAR} in the url and headers of a project's .mcp.json, so each teammate sets CONTEXT7_API_KEY in their own environment and the file stays secret-free: { "mcpServers": { "context7": { "type": "http", "url": "https://mcp.context7.com/mcp", "headers": { "Authorization": "Bearer ${CONTEXT7_API_KEY}" } } } } Claude Code asks each person to approve project-scoped servers the first time. 6. Or run it locally over stdio claude mcp add --env CONTEXT7_API_KEY="$CONTEXT7_API_KEY" --transport stdio context7 -- npx -y @upstash/context7-mcp Pass the key with --env instead of --api-key on the command line. Keep --transport stdio between --env and the server name: if the name comes right after --env, the CLI reads it as another KEY=value pair. 7. Check the connection claude mcp list claude mcp get context7 # in a session: use context7 with /vercel/next.js for app router setup claude mcp list should show context7 as connected. Adding the library ID (/owner/repo) skips the lookup step. Troubleshooting (from the official docs) - Rate-limit errors: add a free API key as an Authorization: Bearer header (remote) or CONTEXT7_API_KEY / --api-key (local). - 401, and claude mcp list shows Failed to connect: check the key starts with ctx7sk and the header reads exactly Authorization: Bearer <key>. Claude Code reports a rejected header as a failed connection rather than offering OAuth. - Warning about a missing variable: CONTEXT7_API_KEY isn't set in the shell that launched Claude Code. Export it first, or use a ${VAR:-default} fallback. - ERR_MODULE_NOT_FOUND / Cannot find module 'uriTemplate.js' locally: use Node.js 20+ and @upstash/context7-mcp@latest, try bunx or deno, or use the hosted URL. - 404 for a library: IDs look like /owner/repo or /owner/repo/version; let resolve-library-id find it first. - Corporate proxy: set https_proxy / HTTPS_PROXY (in the server's env for stdio), then check curl https://mcp.context7.com/ping returns pong. - "already exists in local config": run claude mcp remove context7 first, or add it under a different scope. Notes - Context7's 2 tool definitions measured about 1,060 tokens (o200k) on @upstash/context7-mcp 4.4.4, one of the lightest servers on our MCP tool budget table. - Every query text leaves your machine for Context7's service, so don't paste secrets or proprietary code into one. - An allow rule for mcp__context7__* in .claude/settings.json stops the per-call prompt; leave it out to keep confirming each lookup. - Library docs on Context7 are community-contributed; Upstash says it can't guarantee their accuracy or security.
Platforma Context7 -- aktuální dokumentace pro AI agenty
3 MCP Servers That Make Your AI Coding Assistant More Useful Your AI can explain the task. These three MCP connections help it work with the tools and information the task needs. • Context7 — library documentation and code examples. • Playwright — browser navigation, interaction, and page inspection. • GitHub MCP — repositories, issues, and pull requests. See how they fit into one workflow: read a bug report, check the documentation, then verify the fix in a browser. Start with the connection that solves your bottleneck. Keep access limited and review changes before they go live. Follow Stack Made Clear. Understand the tech. Know when to use it. Official resources: Context7: upstash/context7 Playwright MCP: microsoft/playwright-mcp GitHub MCP: github/github-mcp-server Interfaces shown are illustrative animations.
Best GitHub repos for Claude Code? 4 we actually ran Best GitHub repos for Claude Code: rea, Playwright MCP, Context7 and Chrome DevTools MCP, each run in a real test Four GitHub repos for Claude Code, each run for real in a throwaway sandbox (sped up parts marked on screen). rea and the control test: 16 Oct. Playwright MCP and Context7: 16 Oct takes. Chrome DevTools MCP: take of 18 Oct. Star counts as of 18 Oct. morluto/rea microsoft/playwright-mcp upstash/context7 ChromeDevTools/chrome-devtools-mcp Full test: youtube.com Subscribe to @readmelied for more tools we run and check against their README. README Lied runs trending open-source tools in a sandbox and checks what they really do against what their README says. New tests every week. #ai #github #coding #readmelied #claudecode #playwright
Testei +100 Repos do GitHub: Esses 10 São os Melhores! 🚀 Quer automações com IA para sua empresa? Desenvolvo soluções sob medida. Agende um diagnóstico gratuito: link.devaprender.com Testei centenas de skills e repositórios do GitHub para automatizar o meu negócio e o de outras pessoas com o Claude Code, e neste vídeo eu mostro quais ficaram na minha rotina. São ferramentas que escrevem melhor, controlam um navegador de verdade, mexem em planilhas, agenda e documentos, conectam o Claude a centenas de apps, criam vídeos com código e fazem auditoria de segurança. Tudo isso rodando no dia a dia, com demonstração real na tela. Muita coisa aqui não é skill famosa, daquelas que você ouve todo dia no Instagram, e praticamente ninguém conhece. Se você quer automatizar uma empresa com inteligência artificial, usar agentes de IA no trabalho ou até vender automação como serviço, essa lista vai te poupar semanas de teste. Fica até o final e se inscreve no canal para acompanhar mais vídeos como esse. No AI Slop: petergyang/no-ai-slop Playwright CLI: microsoft/playwright-cli Claude in Chrome: claude.com Google Workspace CLI (gws): googleworkspace/cli Composio: ComposioHQ/composio Remotion: remotion-dev/remotion Remotion skills: remotion-dev/skills Context7: upstash/context7 Web Scraping Skills (Thirdwatch): thirdwatch-dev/scraping-skills Camoufox: daijro/camoufox Cloudflare Security Audit: cloudflare/security-audit-skill 0:00 Introdução 0:29 No AI Slop: texto sem cara de IA 1:59 Google Workspace CLI 2:34 Playwright CLI 4:14 Claude in Chrome 5:24 Composio CLI 6:47 Remotion: vídeos animados com código 7:18 Context7: documentação atualizada 7:54 Skills de Web Scraping Antibot 8:35 Bônus: Camoufox 9:00 Security Audit Skill da Cloudflare 9:32 Encerramento CONTATO COMERCIAL(não respondo dúvidas de videos) ------------------------ jhonatan@devaprender.com
AI coding suggestions using outdated APIs? 📚 Context7 brings current library docs and examples into your coding agent's context. Check the right reference first. 🔌 upstash/context7 #MCP #浇朋友 #蓝朋友 #互关 #fo
AI 写代码,老拿过期 API 举例?📚 Context7 把较新的库文档和代码示例送进编程助手上下文。少走一些查文档的弯路。🔌 upstash/context7 #MCP #浇朋友 #蓝朋友 #互关 #fo
Claude Code でメモアプリを作って Microsoft Store に公開するまでにやった工夫 はじめに マークダウンのメモアプリ Sirusita を、Claude Code にほぼすべて書いてもらって作りました。最後は Microsoft Store で公開しています。 - 技術スタック: Wails v2(Go)+ Svelte 5 + Monaco Editor - 配布: GitHub Releases / Microsoft Store / Web 版(GitHub Pages) !Sirusita のメイン画面 この記事では、コードの中身よりも「AI に開発を任せるための環境と進め方」で工夫した点をまとめます。どの話も深入りはせず、ほかの人が試せそうなところを広く拾いました。 全体の流れ Docker Sandboxes の中の Claude Code ├─ コードを書く・テストする(Go / Node / Wails はすべて Docker の中) ├─ gh コマンドで GitHub を操作(push、Actions の結果確認) └─ CLAUDE.md の更新(AI に任せる) │ v* タグを push ▼ GitHub Actions ├─ release.yml … Windows の exe を作って Release に添付 ├─ msix.yml … MSIX を作って Artifact に置く └─ pages.yml … Web 版を GitHub Pages に公開(main への push で) │ MSIX をダウンロード ▼ Partner Center(ここだけ手作業)… MSIX を登録して申請 1. Claude Code に入れたもの superpowers(作業の手順を決めるスキル集) superpowers は、Claude Code に「作業の進め方」を教えるスキル集です。ブレインストーミング、計画、TDD、デバッグ、「完了と言う前に検証する」といった手順が入っています。 特に効くのは「検証してから完了と言う」です。「直しました」と言う前にテストを実行し、その結果を見せるようになります。 Context7(ライブラリの最新ドキュメントを引く MCP) Svelte 5(runes)や Vite 7、Tailwind CSS 4 は、AI が学習した時点から書き方が変わっていることがあります。Context7 を入れ、ライブラリの話になったら先に最新のドキュメントを引くように指示しました。 指示はグローバルの ~/.claude/rules/ に置いたので、どのプロジェクトでも効きます。 AWS MCP Web 版の独自ドメインは Route 53 で管理しています。AWS の作業も Claude Code から頼めるように、AWS MCP も入れました。 2. Docker Sandboxes で --dangerously-skip-permissions を使う Claude Code は、ファイルの編集やコマンドの実行のたびに許可を求めてきます。安全ですが、長い作業だと何度も止まります。 --dangerously-skip-permissions を付けると確認なしで進みますが、手元の PC でそのまま使うのは怖いです。そこで Docker Sandboxes(sbx コマンド)を使いました。エージェントを microVM の中で動かす仕組みで、サンドボックスごとに Docker デーモン・ファイルシステム・ネットワークが分かれています。 sbx run claude --branch my-feature sbx run claude で起動すると、Claude Code は最初から --dangerously-skip-permissions 付きで立ち上がります。ただ、私は VS Code から作業したかったので、次の順で使っています。 1. サンドボックスを bash(シェル)で起動し、SSH を有効にする 2. VS Code の Remote - SSH で、サンドボックスに接続する 3. VS Code のターミナルで、Claude Code を起動する claude --dangerously-skip-permissions こうすると、AI には確認なしで作業させつつ、変わったファイルは VS Code で開いて確かめられます。 Claude Code にも、組み込みのサンドボックス(/sandbox)があります。それでも Docker Sandboxes を選んだ理由は 2 つです。 - 組み込みのサンドボックスで隔離されるのは、Bash のコマンドだけ。ファイルの編集ツール、MCP サーバー、hooks は、ホストの上でそのまま動きます。Docker Sandboxes なら、Claude Code のプロセス全体が microVM の中に入ります - 組み込みのサンドボックスは docker コマンドと相性が悪い。公式ドキュメントでも docker は非対応とされていて、使うには excludedCommands でサンドボックスの外に出す必要があります。このプロジェクトはビルドもテストも docker run で行うので、それでは肝心のコマンドが隔離の外で動いてしまいます。Docker Sandboxes にはサンドボックスごとに専用の Docker デーモンがあるので、docker run も隔離の中で動きます 隔離された中だから、確認を省いて任せられる。Docker Sandboxes と --dangerously-skip-permissions の組み合わせで、「テストが通るまで直して」のような長い作業を放っておけるようになりました。 ただし、サンドボックスに GitHub の認証情報を渡していれば、push などの外部への操作はできてしまいます。何を任せるかは決めておく必要があります。 外部へのアクセスも絞っています。Docker Sandboxes は最初の設定で、ネットワークの方針を 3 つから選べます。 - Open: すべて許可 - Balanced: 基本は拒否し、開発でよく使うサイトだけ許可 - Locked Down: ほぼすべて拒否 私は真ん中の Balanced を選びました。足りないサイトが出てきたら、そのつど sbx policy で許可に足しています。最初から全部開けるよりも安全で、全部閉じるほど手間もかかりません。 あわせて、ビルドもすべて Docker の中で完結させています。ホストには Go も Node も入れていません。 docker run --rm -v "$PWD":/app -w /app wails-dev go test ./... docker run --rm -v "$PWD":/app -w /app wails-dev wails build -platform windows/amd64 手元で確かめるときは、Windows の exe も mingw-w64 を使って Linux のコンテナの中でクロスビルドできます。AI に「ビルドして確かめて」と頼むとき、環境の違いで悩まずに済みます。 3. CLAUDE.md のメンテナンスも AI に任せた CLAUDE.md は、プロジェクトの説明を Claude Code に毎回読ませるファイルです。この更新も AI に任せています。ファイルを増やしたら構成の一覧に足す、ハマったことは注意点として残す、という具合です。 実際に CLAUDE.md に残った注意点の例です。 - svelte.config.js の vitePreprocess({ script: true }) は必須。flowbite-svelte が TypeScript 入りの .svelte を配布していて、これがないとビルドが壊れる - MSIX を作る PowerShell スクリプトは ASCII だけで書く。Windows PowerShell 5.1 は BOM なしのファイルを ANSI として読むため - Web 版は外部の CDN を使わない(プライバシーの方針)。そのため Google Fonts もやめた 人間がこまめに書き足すのは続きません。AI に「同じ失敗を次の自分(AI)がしないように書いておいて」と頼むと、自然に育っていきます。ときどき読み返して、古くなった記述を消すように頼む程度で十分でした。 4. GitHub の操作は MCP ではなく gh コマンドで GitHub には公式の MCP サーバーもありますが、このプロジェクトでは gh コマンドを AI に使わせることにしました。理由は 3 つです。 - AI が gh をよく知っている。学習データに使い方がたくさんあるので、説明しなくても使える - できることが広い。gh api で REST API を直接呼べるので、MCP にない操作もできる(例: GitHub Pages の状態の確認や設定の変更) - 出力を絞れる。--json と -q(jq の式)で必要な項目だけ取り出せるので、出力をそのまま読むより、コンテキストの消費を抑えられる たとえば、push したあとの Actions を待って結果を見るのはこうです。 gh run list --limit 3 gh run watch <run-id> --exit-status Web 版の HTTPS がうまく有効にならなかったときも、gh api repos/<owner>/<repo>/pages/health を見て、証明書がまだ発行されていないことを AI が自分で突き止めました。 5. MSIX のビルドは GitHub Actions で完結 Microsoft Store に出すには MSIX というパッケージが必要です。MSIX を作る MakeAppx は Windows SDK のツールで、Windows でしか動きません。Linux で作る方法もありますが、公式の手順どおりに確実に作れるよう、ここだけ GitHub Actions の windows-latest で作ることにしました。 - v1.7.0 のようなタグを push すると、exe の Release 用と MSIX 用のワークフローが同時に動く - タグの X.Y.Z を、そのまま MSIX のバージョン(X.Y.Z.0)に使う - MSIX は未署名のまま Artifact に置く。Store が審査のあとで署名してくれるので、証明書を用意しなくてよい ワークフローで気をつけたのは、タグ名や入力値を run: の中に ${{ }} で直接書かないことです。env: を経由して渡します。直接書くとスクリプトとして解釈されるおそれがあるためです。 - name: Decide version shell: bash env: INPUT_VERSION: ${{ github.event.inputs.version }} run: echo "version=${INPUT_VERSION}" >> "$GITHUB_OUTPUT" 6. Store への登録はあえて手動に Partner Center への申請も API で自動化できますが、手動のままにしました。 - 申請の回数は多くないので、自動化の手間に見合わない - Partner Center の認証情報を CI に置かなくてよい - 説明文やスクリーンショットは、どうせ人間が見て決めたい その代わり、Partner Center に入力する内容は docs/store-submission.md に控えとして全部書いてあります。AI に書かせたものです。説明文、キーワード、年齢区分の回答、runFullTrust が必要な理由(Wails のデスクトップアプリなので)、審査担当者への注意書きまで入っています。次の更新では、Artifact から MSIX をダウンロードし、控えをコピーして貼るだけで終わります。 Store に出してみて分かったことも少し書いておきます。 - 製品の種類は「MSIX または PWA アプリ」を選ぶ。あとから変えられない - プライバシーポリシーの URL が必須。リポジトリの PRIVACY.md の URL を使った - スクリーンショットは 1366×768 以上が 1 枚以上必要 !Microsoft Store のページ 7. そのほか、やってよかったこと - Web 版も作った。Go の部分(D2 の図の描画やインポートの解析)を WebAssembly にして、同じ画面をブラウザで動かしています。「インストールせずに試せる」入口があると、紹介しやすくなります - サンプル集をアプリに同梱。言語の文法やコマンドのチートシートも AI に書かせました。そのうえで、「載っているコマンドの誤りを確かめて」「表が崩れていないか見て」と、AI に見直しもさせています !サンプル集から追加 - 生成物はスクリプトから作り、CI で確かめる。A4 横の SVG チートシートは手で書かず、Node のスクリプトで生成しています。CI では、生成結果が最新か、詳しい版のメモと内容が合っているかを確かめます。AI が「直接 SVG を手直し」して、元のデータとずれるのを防ぐためです - コミットのプレフィックス(feat: / fix: / chore:)を決めておく。これを CLAUDE.md に書いておけば、AI のコミットメッセージもそろいます まとめ - 隔離環境(Docker Sandboxes)を用意すると、AI に確認なしで長く任せられる。docker を使うプロジェクトでは、組み込みのサンドボックスより Docker Sandboxes が合う - superpowers で進め方を、Context7 で最新の知識を、CLAUDE.md でプロジェクトの記憶を補う。CLAUDE.md の更新も AI に任せる - GitHub の操作は gh で十分。むしろ扱いやすい - 自動化は「ビルドまで」にして、Store への申請は手動。その代わり手順と入力内容は文書に残す Sirusita の紹介 最後に、できあがったアプリの紹介です。 Sirusita は、技術メモやコマンド集をマークダウンで書きためる、開発者向けのシンプルなメモアプリです。編集機能は Obsidian ほど多くありません。その代わり、マークダウンや図・数式の書き方をまとめたサンプル集を最初から同梱し、書き方に迷ったらすぐ引いて、そのままメモに追加できるようにしました。分割表示でプレビューを横に見ながら書けるので、マークダウンを覚えながら使えます。 ちなみに Sirusita という名前は、Markdown を mark + down に分けて和訳した「印+下=しるした」から付けました(メモを「記した」にも掛けています)。 もう 1 つ工夫したのが階層タグです。技術メモは数が増えるとタグも増えて探しにくくなるので、プログラミング/Go のように / で区切ったタグを、サイドバーでツリーとして表示するようにしました。 ▾ プログラミング (5) Go (1) Rust (1) ▾ コマンド (6) docker (2) - 親のタグ(プログラミング)を選ぶと、その下のタグが付いたメモもまとめて表示される - a/b/c を付けるだけで、途中の a と a/b も自動でツリーに出る - タグ名を変えると、その下のタグもまとめて付け替わる。PlantUML を 図表/PlantUML に変えれば、あとから階層の下へ移せる。作成・更新日時は変わらない 主な機能は次のとおりです。 - マークダウンで書いて、横のプレビューで確認できる。数式(KaTeX)、図(Mermaid / D2)、コードのシンタックスハイライトに対応 - 階層タグでメモを整理(上で紹介した仕組み) - チートシート集を同梱。Go・Rust・Python などの文法、Docker・Git・bash のコマンド、正規表現などを、選んでメモに追加できる。Git・Docker・bash・正規表現には、A4 横の 1 枚にまとめた「1画面版」もある - マークダウンや ZIP のインポートと、マークダウンのエクスポートに対応(ドラッグ&ドロップも可) - オフラインで動作。メモは PC の中(Web 版はブラウザの中)だけに保存され、どこにも送信しない !Git コマンド 1画面版 | 入手先 | URL | |---|---| | Web 版(インストール不要) | sirusita.e17.click | | Windows(Microsoft Store) | apps.microsoft.com | | GitHub(MIT ライセンス) | morststs/sirusita | 触ってみての感想や要望は、GitHub の Issue やこの記事のコメントでいただけるとうれしいです。