tscircuit について
tscircuitと`tsci`コマンドラインを使った電子回路設計をAIエージェントに案内するスキルです。文書に沿った記述と段階的な検証を重視し、安全性や製造上の判断はユーザーに委ねます。
主な機能
- 01回路設計のガイド
- 02部品の検索と取り込み
- 03TSX回路の作成
- 04ネットリストと配置の検査
- 05ビルドとエクスポートの手順
活用シーン
- 01tscircuitプロジェクトの初期化
- 02基板用部品の検索
- 03回路図とPCB配置の反復調整
- 04共有前の回路検証
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ tscircuit/ skill --skill tscircuitインストール後、Claude Code で/tscircuitを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
.gitignoreWORKFLOW.mdFOOTPRINTS.mdREADME.mdCLI.mdCHECKLIST.mdLICENSESAVED_FANOUT_PATHS.mdSYNTAX.mdBUS_LANES.mdelements/analogsimulation.mdassemblydevice.mdbattery.mdboard.mdcapacitor.mdbreakout.mdcadmodel.mdcadassembly.mdbreakoutpoint.mdchip.mdantenna.mdcopperpour.mdconstraint.mdcourtyardcircle.mdcourtyardoutline.mdcoppertext.mdcourtyardrect.mdcourtyardpill.mdcrystal.mdconnector.md詳細
tscircuit
あなたは、tscircuit(React/TypeScript)と tsci CLI を使用した電子回路設計をユーザーが行うのを支援しています。
この Skill が有効な場合:
- tscircuit のドキュメントに記載されたプリミティブと CLI の動作を優先してください。不明な点がある場合は、次の方法で確認してください:
- リポジトリ内のローカルファイル(例:
tscircuit.config.json、index.circuit.tsx、package.json)を読む tsci --helpまたは特定のサブコマンドの--helpを実行する
- リポジトリ内のローカルファイル(例:
- JSX の props や CLI フラグを「でっち上げる」ことは避けてください。
デフォルトのワークフロー
- 要件を明確にする(まだ提示されていない場合)
- ボードのフォームファクター / サイズの制約
- 電源と電圧レール
- I/O: コネクタ、ヘッダー、マウント穴、機械的制約
- 対象メーカーの制約(トレース/スペース、アセンブリ、サプライヤー)
- 出発点を選ぶ
- そのリポジトリが tscircuit プロジェクトでない場合は、次を推奨してください:
- CLI をインストールし、
tsci initでプロジェクトをブートストラップする。
- CLI をインストールし、
- フォームファクターのテンプレートが適切な場合(Arduino Shield、Raspberry Pi HAT など)は、
@tscircuit/commonのテンプレートを優先してください。
- コンポーネントを見つけてインストールする
tsci search "<query>"を使用して、フットプリントと tscircuit レジストリパッケージを探してください。- ディストリビューターの在庫やサプライヤーの型番が重要な場合は、
tsci search --digikey "<query>"またはtsci search --mouser "<query>"を使用してください。両方のフラグは組み合わせて使用でき、--jsonは機械可読な結果を提供します。 - USB-C レセプタクル/コネクタには、JLCPCB からインポートするのではなく、
<connector standard="usb_c" />を使った組み込み構文を優先してください。 - 次のいずれかを使用してください:
- レジストリパッケージには
tsci add <author/pkg>(@tsci/*パッケージをインストールします) - JLCPCB またはレジストリからコンポーネントをインポートする必要がある場合は
tsci import <query>
- レジストリパッケージには
- DigiKey と Mouser の検索結果は部品の探索用です。
tsci importはこれらのディストリビューターから直接インポートするものではありません。
- TSX 回路コードの作成/変更
- 回路は、JSX を返すデフォルトエクスポート関数として保持してください。
- ほぼすべての回路図は、
<schematicsheet>と<schematicsection>を使って関連する回路を明確で読みやすいシートとセクションに整理し、分割するべきです。 - カスタムフットプリント TSX を作成する前に
FOOTPRINTS.mdを読み、パッケージに一致するフットプリンター文字列がある場合はそちらを優先してください。 - レイアウトプロパティを意図的に使用してください:
- PCB:
pcbX、pcbY、pcbRotation、layer - 回路図:
schX、schY、schRotation、schOrientation
- PCB:
- 大規模なプロジェクト(5 個以上のコンポーネント)では、
<schematicsection />を使ってコンポーネントを機能ごと(例:「Power」「MCU」「IO」)にグループ化してください。これは回路図の可読性にとって最も重要なことの 1 つです。各コンポーネントにschSectionNameを割り当て、schX/schYを使ってセクションのすべてのメンバーを近接して手動配置してください。 - 1 つの大きなチップを複数の回路図シートに表示する必要がある場合は、シートの前に
<chip />を 1 回宣言し、各シートに 1 つの<schematicbox chipRef=".U1" />を使用してください。各ボックスを<schematicsheet />内にネストするか、要素を兄弟として保持し、schSheetNameでボックスを割り当ててください。そのシートのラベルのみをボックスに渡し、U1.VCCのように元のチップにアドレス指定された接続を維持してください。詳細は<schematicbox />リファレンスを参照してください。 - 配置された開放端 PCB アンテナには
<antenna />を使用してください。1 パッドのフットプリントを与え、pcbPathでローカル銅ジオメトリを定義し、別の<trace />で回路をその.feedポートに接続してください。詳細は<antenna />リファレンスを参照してください。 - 固定層バス相互接続には、
<autoroutingphase autorouter="bus_lanes" connections={[...]} />を使用してください。エンドポイントセレクター、ファンアウトハンドオフ、長さマッチング、およびサポートされないケースについては、バスレーンのルーティングを参照してください。幅とスキューの設定は<bus />に保持し、後続のグローバルルーティングのためにフェーズ出力を保存してください。 - 接続された VCC/GND パッドを含む、ローカルな BGA パッドからビアへのエスケープには、
<fanout autorouter="dogbone" fanoutRoutingLayers={["inner2"]}>を使用してください。詳細。 - 事前生成されたファンアウトルートには、
<fanout pcbTracePaths={savedPaths}>(または<breakout>)を使用してください。JSON インポート、ローカル座標、完全なカバレッジ、allowViaInPadを使用したビアエンドポイントについては、保存されたファンアウトトレースパスを参照してください。 - 残りの接続の暗黙的なルーティングをスキップしつつ、明示的なルーティングフェーズとブレイクアウトを保持するには、
<board routeRemaining={false}>を使用してください。未ルーティングの接続は依然として DRC エラーを生成します。trueまたは省略時は通常の残りルーティングが維持されます。ネストされたサブ回路はこの設定を継承します。 - 接続性には
<trace />を使用し、電源/グラウンドにはネット接続(net.GND、net.VCCなど)を優先してください。
- ビルドとイテレーション
- ソースの診断には
tsci check source [file]を、レイアウト前にピンの要件を確認するにはtsci check pin_specification [file]を使用します。 - 接続性の問題を早期に発見するため、
tsci check schematic-placement、tsci check placement、tsci buildの前にtsci check netlistを実行します。 - PCB 配置を確認する前に、
tsci check schematic-placementを使用して回路図側の配置を検証します。 tsci check schematic-placementとtsci check placementの両方が、対処すべき配置違反なしでパスしない限り、最終化しないでください。違反が存在する場合は、レイアウトを修正してクリーンになるまで再実行します。tsci check trace-length <pinOrNetRef> [file]を使用して、R1.pin1やnet.GNDなどのピンまたはネットの長さを検査します。ソース入力は解析前にルーティングされます。ビルド済みの Circuit JSON も受け付けられます。- ルーティングを確認する前に、
tsci build --pcb-png [file]を実行して配置を検査します。 - 配置後に
tsci check routing-difficultyを実行して、潜在的な輻輳領域を特定します。 tsci buildを実行して回路をコンパイルおよび検証します。- ルーティングが疑わしい場合は、
tsci build [file] --autorouter-debug --autorouter-debug-dir dist/autorouter-debugを実行し、placement-unrouted.pngと各累積的なphase-N-routed.pngを検査します。各ステージの SimpleRouteJson の入力と出力も必要な場合は、--autorouter-dump-srj allを追加します。 - ルーティング後に、
tsci check shorts [file]を実行して、分離された PCB 銅グループ間の意図しないショートを検出します。[file]を省略するとプロジェクトのエントリポイントが使用されます。ビルド済みの*.circuit.jsonファイルも受け付けられます。 - ショートが検出されると、
tsci check shortsは非ゼロで終了します。checks/check-shorts/bitmap.pngとchecks/check-shorts/pcb.svgを検査し、関与している銅を修正してから、チェックを再実行します。この失敗を一般的な DRC 警告として無視しないでください。 - ルーティング後に、
tsci check pcb-style [file]を実行して、長い奇数角度の配線や不要な階段状の配線を検出します。デフォルトのルールを使用し、checks/check-pcb-style/pcb.svgでカウントされた概要を検査して、ルーティングを修正します。トレースポイントを細分化してもスタイルの問題は解決しません。 - デフォルトのショートチェックは、利用可能なすべての銅層上の Gerber 由来の銅を解析します。PCB ジオメトリには
--mode pcbを、範囲を絞るには--layer topまたは--layer bottomを、異なるビットマップ解像度が必要な場合にのみ--pixels-per-mm <number>を使用します。 - DRC (Design Rule Check) エラーは開発中は無視できることがよくあります。まずは回路を正しくすることを優先してください。
- ルーティングが困難な場合は、密度を下げる、サブレイアウトに
<group />を使用する、または自動ルーターの設定を変更します。 tsci devは、対話的な視覚フィードバックが必要な場合にのみ使用します (AI によるイテレーションでは通常不要です)。
- 検証とエクスポート
- 共有/公開の準備をする際は、
tsci check schematic-placement、tsci check placement、tsci buildの前にtsci check netlistを実行します。 - ルーティング後、共有、公開、または製造出力の生成前に、
tsci check shortsを実行します。報告されたすべてのショートを解決してから次に進みます。 - 共有またはエクスポートの前に、
tsci check pcb-styleを実行し、ハイライトされたルーティングの問題を確認します。チェックコマンドと出力オプションについてはCLI.mdを参照してください。 - 共有/公開の前に
tsci build(および必要に応じてtsci snapshot) を実行します。 - SVG/ネットリスト/DSN/3D/ライブラリの出力には
tsci exportを使用します。 - 製造には、
tsci devの後にエクスポート UI から製造出力 (Gerber/BOM/PnP) を取得します。
安全性と非目標
- 電気的安全性、規制遵守、製造可能性はユーザーが負う責任として扱います。
- ユーザーが明示的に要求しない限り、公開 (
tsci push) や発注を行わないでください。
この Skill に同梱されるローカルリファレンス
- CLI 入門:
CLI.md - 構文入門:
SYNTAX.md - ワークフローパターン:
WORKFLOW.md - エクスポート前チェックリスト:
CHECKLIST.md - コピーしてすぐ使えるテンプレート:
templates/ - ヘルパースクリプト:
scripts/
組み込み要素
<analogsimulation /><antenna /><assembly.device /><battery /><board /><breakout /><breakoutpoint /><cadassembly /><cadmodel /><capacitor /><chip /><connector /><constraint /><copperpour /><coppertext /><courtyardcircle /><courtyardoutline /><courtyardpill /><courtyardrect /><crystal /><currentsource /><cutout /><diode /><enclosure.cutoutaperture /><enclosure.fdm.box /><fabricationnotedimension /><fabricationnotepath /><fabricationnoterect /><fabricationnotetext /><fiducial /><footprint /><fuse /><group /><hole /><inductor /><jumper /><keepout /><led /><mosfet /><mountedboard /><net /><netalias /><netlabel /><opamp /><panel /><pcbnotedimension /><pcbnoteline /><pcbnotepath /><pcbnoterect /><pcbnotetext /><pcbtrace /><pinheader /><pinout /><platedhole /><port /><potentiometer /><pushbutton /><resistor /><resonator /><schematicarc /><schematicbox /><schematiccell /><schematiccircle /><schematicline /><schematicpath /><schematicrect /><schematicrow /><schematicsection /><schematictable /><schematictext /><silkscreencircle /><silkscreenline /><silkscreenpath /><silkscreenrect /><silkscreentext /><smtpad /><solderjumper /><subcircuit /><subpanel /><switch /><symbol /><testpoint /><trace /><tracehint /><transistor /><via /><voltageprobe /><voltagesource />
コメント
Markdown 対応