tsci-agent 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (101) hide show
  1. package/README.md +60 -0
  2. package/dist/cli.js +280061 -0
  3. package/dist/skill/CHECKLIST.md +26 -0
  4. package/dist/skill/CLI.md +180 -0
  5. package/dist/skill/LICENSE +21 -0
  6. package/dist/skill/README.md +32 -0
  7. package/dist/skill/SKILL.md +163 -0
  8. package/dist/skill/SYNTAX.md +229 -0
  9. package/dist/skill/WORKFLOW.md +92 -0
  10. package/dist/skill/elements/analogsimulation.md +32 -0
  11. package/dist/skill/elements/battery.md +24 -0
  12. package/dist/skill/elements/board.md +23 -0
  13. package/dist/skill/elements/breakout.md +68 -0
  14. package/dist/skill/elements/breakoutpoint.md +27 -0
  15. package/dist/skill/elements/cadassembly.md +39 -0
  16. package/dist/skill/elements/cadmodel.md +31 -0
  17. package/dist/skill/elements/capacitor.md +28 -0
  18. package/dist/skill/elements/chip.md +44 -0
  19. package/dist/skill/elements/connector.md +125 -0
  20. package/dist/skill/elements/constraint.md +73 -0
  21. package/dist/skill/elements/copperpour.md +34 -0
  22. package/dist/skill/elements/coppertext.md +28 -0
  23. package/dist/skill/elements/courtyardcircle.md +32 -0
  24. package/dist/skill/elements/courtyardoutline.md +42 -0
  25. package/dist/skill/elements/courtyardpill.md +29 -0
  26. package/dist/skill/elements/courtyardrect.md +38 -0
  27. package/dist/skill/elements/crystal.md +28 -0
  28. package/dist/skill/elements/currentsource.md +26 -0
  29. package/dist/skill/elements/cutout.md +35 -0
  30. package/dist/skill/elements/diode.md +23 -0
  31. package/dist/skill/elements/fabricationnotedimension.md +27 -0
  32. package/dist/skill/elements/fabricationnotepath.md +29 -0
  33. package/dist/skill/elements/fabricationnoterect.md +40 -0
  34. package/dist/skill/elements/fabricationnotetext.md +32 -0
  35. package/dist/skill/elements/fiducial.md +34 -0
  36. package/dist/skill/elements/footprint.md +95 -0
  37. package/dist/skill/elements/fuse.md +28 -0
  38. package/dist/skill/elements/group.md +29 -0
  39. package/dist/skill/elements/hole.md +23 -0
  40. package/dist/skill/elements/inductor.md +27 -0
  41. package/dist/skill/elements/jumper.md +23 -0
  42. package/dist/skill/elements/led.md +23 -0
  43. package/dist/skill/elements/mosfet.md +26 -0
  44. package/dist/skill/elements/mountedboard.md +26 -0
  45. package/dist/skill/elements/net.md +27 -0
  46. package/dist/skill/elements/netalias.md +25 -0
  47. package/dist/skill/elements/netlabel.md +60 -0
  48. package/dist/skill/elements/opamp.md +30 -0
  49. package/dist/skill/elements/panel.md +24 -0
  50. package/dist/skill/elements/pcbkeepout.md +22 -0
  51. package/dist/skill/elements/pcbnotedimension.md +31 -0
  52. package/dist/skill/elements/pcbnoteline.md +30 -0
  53. package/dist/skill/elements/pcbnotepath.md +31 -0
  54. package/dist/skill/elements/pcbnoterect.md +30 -0
  55. package/dist/skill/elements/pcbnotetext.md +29 -0
  56. package/dist/skill/elements/pcbtrace.md +30 -0
  57. package/dist/skill/elements/pinheader.md +34 -0
  58. package/dist/skill/elements/pinout.md +26 -0
  59. package/dist/skill/elements/platedhole.md +34 -0
  60. package/dist/skill/elements/port.md +38 -0
  61. package/dist/skill/elements/potentiometer.md +27 -0
  62. package/dist/skill/elements/pushbutton.md +26 -0
  63. package/dist/skill/elements/resistor.md +27 -0
  64. package/dist/skill/elements/resonator.md +28 -0
  65. package/dist/skill/elements/schematicarc.md +39 -0
  66. package/dist/skill/elements/schematicbox.md +22 -0
  67. package/dist/skill/elements/schematiccell.md +26 -0
  68. package/dist/skill/elements/schematiccircle.md +36 -0
  69. package/dist/skill/elements/schematicline.md +39 -0
  70. package/dist/skill/elements/schematicpath.md +40 -0
  71. package/dist/skill/elements/schematicrect.md +38 -0
  72. package/dist/skill/elements/schematicrow.md +26 -0
  73. package/dist/skill/elements/schematicsection.md +91 -0
  74. package/dist/skill/elements/schematictable.md +48 -0
  75. package/dist/skill/elements/schematictext.md +23 -0
  76. package/dist/skill/elements/silkscreencircle.md +27 -0
  77. package/dist/skill/elements/silkscreenline.md +31 -0
  78. package/dist/skill/elements/silkscreenpath.md +70 -0
  79. package/dist/skill/elements/silkscreenrect.md +25 -0
  80. package/dist/skill/elements/silkscreentext.md +23 -0
  81. package/dist/skill/elements/smtpad.md +35 -0
  82. package/dist/skill/elements/solderjumper.md +21 -0
  83. package/dist/skill/elements/subcircuit.md +29 -0
  84. package/dist/skill/elements/subpanel.md +26 -0
  85. package/dist/skill/elements/switch.md +21 -0
  86. package/dist/skill/elements/symbol.md +54 -0
  87. package/dist/skill/elements/testpoint.md +26 -0
  88. package/dist/skill/elements/trace.md +28 -0
  89. package/dist/skill/elements/tracehint.md +24 -0
  90. package/dist/skill/elements/transistor.md +25 -0
  91. package/dist/skill/elements/via.md +30 -0
  92. package/dist/skill/elements/voltageprobe.md +36 -0
  93. package/dist/skill/elements/voltagesource.md +36 -0
  94. package/dist/skill/scripts/export_svgs.sh +23 -0
  95. package/dist/skill/scripts/fetch_ai_txt.sh +15 -0
  96. package/dist/skill/scripts/smoke_test.sh +48 -0
  97. package/dist/skill/templates/arduino-shield-led.tsx +14 -0
  98. package/dist/skill/templates/chip-with-pinouts.tsx +65 -0
  99. package/dist/skill/templates/group-layout.tsx +13 -0
  100. package/dist/skill/templates/minimal-board.tsx +13 -0
  101. package/package.json +39 -0
@@ -0,0 +1,32 @@
1
+ # `<courtyardcircle />`
2
+
3
+ Draw circular IPC courtyard markings around footprint features.
4
+
5
+ ## Example
6
+
7
+ ```tsx
8
+ export default () => (
9
+ <board width="20mm" height="20mm">
10
+ <chip
11
+ name="U1"
12
+ footprint={
13
+ <footprint>
14
+ <platedhole shape="circle" pcbX={-2.5} pcbY={0} outerDiameter={2.2} holeDiameter={1.1} />
15
+ <platedhole shape="circle" pcbX={2.5} pcbY={0} outerDiameter={2.2} holeDiameter={1.1} />
16
+ <courtyardcircle pcbX={0} pcbY={0} radius={4} strokeWidth={0.1} />
17
+ </footprint>
18
+ }
19
+ />
20
+ </board>
21
+ )
22
+ ```
23
+
24
+ ## Props
25
+
26
+ Commonly used: `radius`, `name`, `footprint`, `connections`
27
+
28
+ ## References
29
+
30
+ - Props: [CourtyardCircleProps](https://github.com/tscircuit/props#courtyardcircleprops-courtyardcircle)
31
+ - Source: [lib/components/courtyard-circle.ts](https://github.com/tscircuit/props/blob/main/lib/components/courtyard-circle.ts)
32
+ - Local docs: [docs/docs/elements/courtyardcircle.mdx](../docs/docs/elements/courtyardcircle.mdx)
@@ -0,0 +1,42 @@
1
+ # `<courtyardoutline />`
2
+
3
+ Draw custom polygon courtyard boundaries for irregular package geometry.
4
+
5
+ ## Example
6
+
7
+ ```tsx
8
+ export default () => (
9
+ <board width="30mm" height="24mm">
10
+ <chip
11
+ name="U1"
12
+ footprint={
13
+ <footprint>
14
+ <platedhole shape="circle" pcbX={-4} pcbY={-2.5} outerDiameter={2.2} holeDiameter={1.1} />
15
+ <platedhole shape="circle" pcbX={-4} pcbY={2.5} outerDiameter={2.2} holeDiameter={1.1} />
16
+ <platedhole shape="circle" pcbX={4} pcbY={-2.5} outerDiameter={2.2} holeDiameter={1.1} />
17
+ <platedhole shape="circle" pcbX={4} pcbY={2.5} outerDiameter={2.2} holeDiameter={1.1} />
18
+ <courtyardoutline
19
+ outline={[
20
+ { x: -6, y: -5 },
21
+ { x: 6, y: -5 },
22
+ { x: 6, y: 5 },
23
+ { x: 0, y: 7 },
24
+ { x: -6, y: 5 },
25
+ ]}
26
+ />
27
+ </footprint>
28
+ }
29
+ />
30
+ </board>
31
+ )
32
+ ```
33
+
34
+ ## Props
35
+
36
+ Commonly used: `pcbLeftEdgeX`, `pcbRightEdgeX`, `pcbTopEdgeY`, `pcbBottomEdgeY`, `pcbX`, `pcbY`, `pcbOffsetX`, `pcbOffsetY`
37
+
38
+ ## References
39
+
40
+ - Props: [CourtyardOutlineProps](https://github.com/tscircuit/props#courtyardoutlineprops-courtyardoutline)
41
+ - Source: [lib/components/courtyard-outline.ts](https://github.com/tscircuit/props/blob/main/lib/components/courtyard-outline.ts)
42
+ - Local docs: [docs/docs/elements/courtyardoutline.mdx](../docs/docs/elements/courtyardoutline.mdx)
@@ -0,0 +1,29 @@
1
+ # `<courtyardpill />`
2
+
3
+ Pill-shaped courtyard geometry for a custom footprint.
4
+
5
+ ## Example
6
+
7
+ ```tsx
8
+ export default () => (
9
+ <board width="20mm" height="20mm">
10
+ <chip
11
+ name="U1"
12
+ footprint={
13
+ <footprint>
14
+ <courtyardpill pcbX={0} pcbY={0} width={8} height={3} radius={1.5} />
15
+ </footprint>
16
+ }
17
+ />
18
+ </board>
19
+ )
20
+ ```
21
+
22
+ ## Props
23
+
24
+ Commonly used: `width`, `height`, `radius`, `pcbX`, `pcbY`, `layer`
25
+
26
+ ## References
27
+
28
+ - Props: [CourtyardPillProps](https://github.com/tscircuit/props#courtyardpillprops-courtyardpill)
29
+ - Source: [lib/components/courtyard-pill.ts](https://github.com/tscircuit/props/blob/main/lib/components/courtyard-pill.ts)
@@ -0,0 +1,38 @@
1
+ # `<courtyardrect />`
2
+
3
+ Draw rectangular IPC courtyard markings around a footprint body.
4
+
5
+ ## Example
6
+
7
+ ```tsx
8
+ export default () => (
9
+ <board width="26mm" height="20mm">
10
+ <chip
11
+ name="U1"
12
+ footprint={
13
+ <footprint>
14
+ <platedhole shape="circle" pcbX={-4} pcbY={0} outerDiameter={2.2} holeDiameter={1.1} />
15
+ <platedhole shape="circle" pcbX={4} pcbY={0} outerDiameter={2.2} holeDiameter={1.1} />
16
+ <courtyardrect
17
+ pcbX={0}
18
+ pcbY={0}
19
+ width={12}
20
+ height={8}
21
+ strokeWidth={0.1}
22
+ />
23
+ </footprint>
24
+ }
25
+ />
26
+ </board>
27
+ )
28
+ ```
29
+
30
+ ## Props
31
+
32
+ Commonly used: `width`, `height`, `strokeWidth`, `isFilled`, `hasStroke`, `isStrokeDashed`, `color`, `name`
33
+
34
+ ## References
35
+
36
+ - Props: [CourtyardRectProps](https://github.com/tscircuit/props#courtyardrectprops-courtyardrect)
37
+ - Source: [lib/components/courtyard-rect.ts](https://github.com/tscircuit/props/blob/main/lib/components/courtyard-rect.ts)
38
+ - Local docs: [docs/docs/elements/courtyardrect.mdx](../docs/docs/elements/courtyardrect.mdx)
@@ -0,0 +1,28 @@
1
+ # `<crystal />`
2
+
3
+ A crystal oscillator provides a stable clock signal essential for timing applications and microcontroller operations.
4
+
5
+ ## Example
6
+
7
+ ```tsx
8
+ export default () => (
9
+ <board width="50mm" height="50mm">
10
+ <crystal
11
+ name="XT1"
12
+ frequency="16MHz"
13
+ loadCapacitance="18pF"
14
+ footprint="hc49"
15
+ />
16
+ </board>
17
+ )
18
+ ```
19
+
20
+ ## Props
21
+
22
+ Commonly used: `frequency`, `loadCapacitance`, `manufacturerPartNumber`, `mpn`, `pinVariant`, `schOrientation`, `connections`, `name`
23
+
24
+ ## References
25
+
26
+ - Props: [CrystalProps](https://github.com/tscircuit/props#crystalprops-crystal)
27
+ - Source: [lib/components/crystal.ts](https://github.com/tscircuit/props/blob/main/lib/components/crystal.ts)
28
+ - Local docs: [docs/docs/elements/crystal.mdx](../docs/docs/elements/crystal.mdx)
@@ -0,0 +1,26 @@
1
+ # `<currentsource />`
2
+
3
+ Current source component for simulation-oriented circuits.
4
+
5
+ ## Example
6
+
7
+ ```tsx
8
+ export default () => (
9
+ <board width="20mm" height="12mm">
10
+ <currentsource
11
+ name="I1"
12
+ current="1mA"
13
+ connections={{ pin1: "net.VCC", pin2: "net.GND" }}
14
+ />
15
+ </board>
16
+ )
17
+ ```
18
+
19
+ ## Props
20
+
21
+ Commonly used: `current`, `frequency`, `peakToPeakCurrent`, `waveShape`, `phase`, `dutyCycle`, `connections`, `name`
22
+
23
+ ## References
24
+
25
+ - Props: [CurrentSourceProps](https://github.com/tscircuit/props#currentsourceprops-currentsource)
26
+ - Source: [lib/components/currentsource.ts](https://github.com/tscircuit/props/blob/main/lib/components/currentsource.ts)
@@ -0,0 +1,35 @@
1
+ # `<cutout />`
2
+
3
+ Remove material from a board outline to create slots, notches, or other interior shapes.
4
+
5
+ ## Example
6
+
7
+ ```tsx
8
+ export default () => (
9
+ <board width="30mm" height="20mm">
10
+ <cutout shape="rect" width="5mm" height="3mm" pcbX="-10mm" pcbY="0mm" />
11
+ <cutout shape="circle" radius="2mm" pcbX="0mm" pcbY="0mm" />
12
+ <cutout
13
+ shape="polygon"
14
+ points={[
15
+ { x: 5, y: -2 },
16
+ { x: 8, y: 0 },
17
+ { x: 5, y: 2 },
18
+ { x: 6, y: 0 },
19
+ ]}
20
+ pcbX="5mm"
21
+ pcbY="0mm"
22
+ />
23
+ </board>
24
+ )
25
+ ```
26
+
27
+ ## Props
28
+
29
+ Commonly used: `name`, `shape`, `width`, `height`, `footprint`, `connections`
30
+
31
+ ## References
32
+
33
+ - Props: [RectCutoutProps](https://github.com/tscircuit/props#rectcutoutprops-cutout)
34
+ - Source: [lib/components/cutout.ts](https://github.com/tscircuit/props/blob/main/lib/components/cutout.ts)
35
+ - Local docs: [docs/docs/elements/cutout.mdx](../docs/docs/elements/cutout.mdx)
@@ -0,0 +1,23 @@
1
+ # `<diode />`
2
+
3
+ Diodes are semiconductor devices that allow current to flow primarily in one direction, making them ideal for rectification, signal clipping, and protection against reverse voltage. They are essential in power supply circuits and for protecting sensitive components from voltage spikes.
4
+
5
+ ## Example
6
+
7
+ ```tsx
8
+ export default () => (
9
+ <board width="10mm" height="10mm">
10
+ <diode name="D1" footprint="sod123" />
11
+ </board>
12
+ )
13
+ ```
14
+
15
+ ## Props
16
+
17
+ Commonly used: `connections`, `anode`, `cathode`, `pin1`, `pin2`, `pos`, `neg`, `variant`
18
+
19
+ ## References
20
+
21
+ - Props: [DiodeProps](https://github.com/tscircuit/props#diodeprops-diode)
22
+ - Source: [lib/components/diode.ts](https://github.com/tscircuit/props/blob/main/lib/components/diode.ts)
23
+ - Local docs: [docs/docs/elements/diode.mdx](../docs/docs/elements/diode.mdx)
@@ -0,0 +1,27 @@
1
+ # `<fabricationnotedimension />`
2
+
3
+ Dimension callout drawn on the fabrication layer.
4
+
5
+ ## Example
6
+
7
+ ```tsx
8
+ export default () => (
9
+ <board width="20mm" height="15mm">
10
+ <fabricationnotedimension
11
+ from={{ x: -4, y: 0 }}
12
+ to={{ x: 4, y: 0 }}
13
+ fontSize={1.2}
14
+ arrowSize={0.8}
15
+ />
16
+ </board>
17
+ )
18
+ ```
19
+
20
+ ## Props
21
+
22
+ Commonly used: `from`, `to`, `text`, `offset`, `font`, `fontSize`, `color`, `arrowSize`
23
+
24
+ ## References
25
+
26
+ - Props: [FabricationNoteDimensionProps](https://github.com/tscircuit/props#fabricationnotedimensionprops-fabricationnotedimension)
27
+ - Source: [lib/components/fabrication-note-dimension.ts](https://github.com/tscircuit/props/blob/main/lib/components/fabrication-note-dimension.ts)
@@ -0,0 +1,29 @@
1
+ # `<fabricationnotepath />`
2
+
3
+ Polyline/path annotation on the fabrication layer.
4
+
5
+ ## Example
6
+
7
+ ```tsx
8
+ export default () => (
9
+ <board width="20mm" height="20mm">
10
+ <fabricationnotepath
11
+ strokeWidth={0.3}
12
+ route={[
13
+ { x: -5, y: 0 },
14
+ { x: 0, y: 5 },
15
+ { x: 5, y: 0 },
16
+ ]}
17
+ />
18
+ </board>
19
+ )
20
+ ```
21
+
22
+ ## Props
23
+
24
+ Commonly used: `pcbLeftEdgeX`, `pcbRightEdgeX`, `pcbTopEdgeY`, `pcbBottomEdgeY`, `pcbX`, `pcbY`, `pcbOffsetX`, `pcbOffsetY`
25
+
26
+ ## References
27
+
28
+ - Props: [FabricationNotePathProps](https://github.com/tscircuit/props#fabricationnotepathprops-fabricationnotepath)
29
+ - Source: [lib/components/fabrication-note-path.ts](https://github.com/tscircuit/props/blob/main/lib/components/fabrication-note-path.ts)
@@ -0,0 +1,40 @@
1
+ # `<fabricationnoterect />`
2
+
3
+ Highlight fabrication callouts and assembly regions with rectangular annotations on the fabrication layer.
4
+
5
+ ## Example
6
+
7
+ ```tsx
8
+ export default () => (
9
+ <board width="28mm" height="20mm">
10
+ <resistor name="R1" resistance="1k" footprint="0603" pcbX={-6} pcbY={-2} />
11
+ <capacitor name="C1" capacitance="1uF" footprint="0603" pcbX={-2} pcbY={2} />
12
+ <fabricationnotetext
13
+ text="Install last"
14
+ pcbX={5}
15
+ pcbY={2}
16
+ anchorAlignment="bottom_left"
17
+ fontSize="1.4mm"
18
+ />
19
+ <fabricationnoterect
20
+ pcbX={0}
21
+ pcbY={0}
22
+ width={18}
23
+ height={12}
24
+ strokeWidth={0.3}
25
+ color="#2563eb"
26
+ hasStroke
27
+ />
28
+ </board>
29
+ )
30
+ ```
31
+
32
+ ## Props
33
+
34
+ Commonly used: `width`, `height`, `strokeWidth`, `isFilled`, `hasStroke`, `isStrokeDashed`, `color`, `cornerRadius`
35
+
36
+ ## References
37
+
38
+ - Props: [FabricationNoteRectProps](https://github.com/tscircuit/props#fabricationnoterectprops-fabricationnoterect)
39
+ - Source: [lib/components/fabrication-note-rect.ts](https://github.com/tscircuit/props/blob/main/lib/components/fabrication-note-rect.ts)
40
+ - Local docs: [docs/docs/footprints/fabricationnoterect.mdx](../docs/docs/footprints/fabricationnoterect.mdx)
@@ -0,0 +1,32 @@
1
+ # `<fabricationnotetext />`
2
+
3
+ The `<fabricationnotetext />` element adds fabrication layer callouts and build notes for assemblers.
4
+
5
+ ## Example
6
+
7
+ ```tsx
8
+ export default () => (
9
+ <board width="24mm" height="18mm">
10
+ <resistor name="R1" resistance="10k" footprint="0402" pcbX={-5} pcbY={0} />
11
+ <led name="D1" footprint="0603" pcbX={5} pcbY={0} />
12
+ <fabricationnotetext
13
+ text="Install connector last"
14
+ pcbX={0}
15
+ pcbY={6}
16
+ fontSize="1.6mm"
17
+ anchorAlignment="top_left"
18
+ color="#d97706"
19
+ />
20
+ </board>
21
+ )
22
+ ```
23
+
24
+ ## Props
25
+
26
+ Commonly used: `text`, `anchorAlignment`, `font`, `fontSize`, `color`, `name`, `footprint`, `connections`
27
+
28
+ ## References
29
+
30
+ - Props: [FabricationNoteTextProps](https://github.com/tscircuit/props#fabricationnotetextprops-fabricationnotetext)
31
+ - Source: [lib/components/fabrication-note-text.ts](https://github.com/tscircuit/props/blob/main/lib/components/fabrication-note-text.ts)
32
+ - Local docs: [docs/docs/footprints/fabricationnotetext.mdx](../docs/docs/footprints/fabricationnotetext.mdx)
@@ -0,0 +1,34 @@
1
+ # `<fiducial />`
2
+
3
+ A reference marker used for optical alignment during automated PCB assembly.
4
+
5
+ ## Example
6
+
7
+ ```tsx
8
+ export default () => (
9
+ <board width="30mm" height="20mm">
10
+ <fiducial
11
+ padDiameter="1mm"
12
+ soldermaskPullback="1mm"
13
+ pcbX={-10}
14
+ pcbY={-5}
15
+ />
16
+ <fiducial
17
+ padDiameter="1mm"
18
+ soldermaskPullback="1mm"
19
+ pcbX={10}
20
+ pcbY={5}
21
+ />
22
+ </board>
23
+ )
24
+ ```
25
+
26
+ ## Props
27
+
28
+ Commonly used: `soldermaskPullback`, `padDiameter`, `name`, `footprint`, `connections`
29
+
30
+ ## References
31
+
32
+ - Props: [FiducialProps](https://github.com/tscircuit/props#fiducialprops-fiducial)
33
+ - Source: [lib/components/fiducial.ts](https://github.com/tscircuit/props/blob/main/lib/components/fiducial.ts)
34
+ - Local docs: [docs/docs/elements/fiducial.mdx](../docs/docs/elements/fiducial.mdx)
@@ -0,0 +1,95 @@
1
+ # `<footprint />`
2
+
3
+ Used to define the physical layout and connection points for components on a printed circuit board.
4
+
5
+ ## Example
6
+
7
+ ```tsx
8
+ export default () => (
9
+ <board width="10mm" height="10mm">
10
+ <chip
11
+ name="U1"
12
+ footprint={
13
+ <footprint>
14
+ <platedhole
15
+ portHints={["4"]}
16
+ pcbX="3.2499299999998357mm"
17
+ pcbY="-2.249932000000058mm"
18
+ outerDiameter="1.9999959999999999mm"
19
+ holeDiameter="1.3000228mm"
20
+ shape="circle"
21
+ />
22
+ <platedhole
23
+ portHints={["2"]}
24
+ pcbX="3.2499299999998357mm"
25
+ pcbY="2.249932000000058mm"
26
+ outerDiameter="1.9999959999999999mm"
27
+ holeDiameter="1.3000228mm"
28
+ shape="circle"
29
+ />
30
+ <platedhole
31
+ portHints={["1"]}
32
+ pcbX="-3.2499299999999494mm"
33
+ pcbY="2.249932000000058mm"
34
+ outerDiameter="1.9999959999999999mm"
35
+ holeDiameter="1.3000228mm"
36
+ shape="circle"
37
+ />
38
+ <platedhole
39
+ portHints={["3"]}
40
+ pcbX="-3.2499299999999494mm"
41
+ pcbY="-2.249932000000058mm"
42
+ outerDiameter="1.9999959999999999mm"
43
+ holeDiameter="1.3000228mm"
44
+ shape="circle"
45
+ />
46
+ <silkscreenpath
47
+ route={[
48
+ { x: -2.2743160000001126, y: -2.999994000000015 },
49
+ { x: 2.274315999999999, y: -2.999994000000015 },
50
+ ]}
51
+ />
52
+ <silkscreenpath
53
+ route={[
54
+ { x: -2.999994000000129, y: 1.0999978000000965 },
55
+ { x: -2.999994000000129, y: -0.999998000000005 },
56
+ ]}
57
+ />
58
+ <silkscreenpath
59
+ route={[
60
+ { x: 3.0999937999998792, y: 1.0279888000000028 },
61
+ { x: 3.0999937999998792, y: -1.0999977999999828 },
62
+ ]}
63
+ />
64
+ <silkscreenpath
65
+ route={[
66
+ { x: -1.99999600000001, y: 2.999994000000015 },
67
+ { x: 2.274315999999999, y: 2.999994000000015 },
68
+ ]}
69
+ />
70
+ </footprint>
71
+ }
72
+ schPortArrangement={{
73
+ leftSide: {
74
+ direction: "top-to-bottom",
75
+ pins: [1, 3],
76
+ },
77
+ rightSide: {
78
+ direction: "bottom-to-top",
79
+ pins: [4, 2],
80
+ },
81
+ }}
82
+ />
83
+ </board>
84
+ )
85
+ ```
86
+
87
+ ## Props
88
+
89
+ Commonly used: `children`, `originalLayer`, `circuitJson`, `src`, `name`, `footprint`, `connections`
90
+
91
+ ## References
92
+
93
+ - Props: [FootprintProps](https://github.com/tscircuit/props#footprintprops-footprint)
94
+ - Source: [lib/components/footprint.ts](https://github.com/tscircuit/props/blob/main/lib/components/footprint.ts)
95
+ - Local docs: [docs/docs/elements/footprint.mdx](../docs/docs/elements/footprint.mdx)
@@ -0,0 +1,28 @@
1
+ # `<fuse />`
2
+
3
+ A `<fuse />` is a safety device that protects electrical circuits by interrupting current flow when it exceeds a predetermined threshold. Fuses are essential for preventing damage to components and circuits from overcurrent conditions.
4
+
5
+ ## Example
6
+
7
+ ```tsx
8
+ export default () => (
9
+ <board width="10mm" height="10mm">
10
+ <fuse
11
+ name="F1"
12
+ footprint="0603"
13
+ currentRating="2A"
14
+ voltageRating="32V"
15
+ />
16
+ </board>
17
+ )
18
+ ```
19
+
20
+ ## Props
21
+
22
+ Commonly used: `currentRating`, `voltageRating`, `schShowRatings`, `schOrientation`, `connections`, `name`, `footprint`
23
+
24
+ ## References
25
+
26
+ - Props: [FuseProps](https://github.com/tscircuit/props#fuseprops-fuse)
27
+ - Source: [lib/components/fuse.ts](https://github.com/tscircuit/props/blob/main/lib/components/fuse.ts)
28
+ - Local docs: [docs/docs/elements/fuse.mdx](../docs/docs/elements/fuse.mdx)
@@ -0,0 +1,29 @@
1
+ # `<group />`
2
+
3
+ A group is the basic container element that can contain other elements.
4
+
5
+ ## Example
6
+
7
+ ```tsx
8
+ import { sel } from "tscircuit"
9
+
10
+ export default () => (
11
+ <board width="10mm" height="10mm">
12
+ <resistor name="R1" resistance="1k" schX={-2} />
13
+ <group schY={-3}>
14
+ <resistor name="R2" resistance="1k" schX={2} />
15
+ <trace from={sel.R1.pin2} to={sel.R2.pin1} />
16
+ </group>
17
+ </board>
18
+ )
19
+ ```
20
+
21
+ ## Props
22
+
23
+ Commonly used: `layoutMode`, `position`, `grid`, `gridCols`, `gridRows`, `gridTemplateRows`, `gridTemplateColumns`, `gridTemplate`
24
+
25
+ ## References
26
+
27
+ - Props: [BaseGroupProps](https://github.com/tscircuit/props#basegroupprops-group)
28
+ - Source: [lib/components/group.ts](https://github.com/tscircuit/props/blob/main/lib/components/group.ts)
29
+ - Local docs: [docs/docs/elements/group.mdx](../docs/docs/elements/group.mdx)
@@ -0,0 +1,23 @@
1
+ # `<hole />`
2
+
3
+ Used for mounting and does not have conductive properties.
4
+
5
+ ## Example
6
+
7
+ ```tsx
8
+ export default () => (
9
+ <board width="30mm" height="20mm">
10
+ <hole diameter="3mm" pcbX={0} pcbY={0} />
11
+ </board>
12
+ )
13
+ ```
14
+
15
+ ## Props
16
+
17
+ Commonly used: `name`, `shape`, `diameter`, `radius`, `solderMaskMargin`, `coveredWithSolderMask`, `footprint`, `connections`
18
+
19
+ ## References
20
+
21
+ - Props: [CircleHoleProps](https://github.com/tscircuit/props#circleholeprops-hole)
22
+ - Source: [lib/components/hole.ts](https://github.com/tscircuit/props/blob/main/lib/components/hole.ts)
23
+ - Local docs: [docs/docs/elements/hole.mdx](../docs/docs/elements/hole.mdx)
@@ -0,0 +1,27 @@
1
+ # `<inductor />`
2
+
3
+ An `<inductor />` stores electrical energy in a magnetic field when current flows through it. Inductors are commonly used in filters, oscillators, power supplies, and RF circuits. They oppose changes in current flow and can smooth out rapid current variations.
4
+
5
+ ## Example
6
+
7
+ ```tsx
8
+ export default () => (
9
+ <board width="10mm" height="10mm">
10
+ <inductor
11
+ name="L1"
12
+ footprint="0603"
13
+ inductance="10μH"
14
+ />
15
+ </board>
16
+ )
17
+ ```
18
+
19
+ ## Props
20
+
21
+ Commonly used: `inductance`, `maxCurrentRating`, `schOrientation`, `connections`, `name`, `footprint`
22
+
23
+ ## References
24
+
25
+ - Props: [InductorProps](https://github.com/tscircuit/props#inductorprops-inductor)
26
+ - Source: [lib/components/inductor.ts](https://github.com/tscircuit/props/blob/main/lib/components/inductor.ts)
27
+ - Local docs: [docs/docs/elements/inductor.mdx](../docs/docs/elements/inductor.mdx)
@@ -0,0 +1,23 @@
1
+ # `<jumper />`
2
+
3
+ A simple connector that typically uses a pinrow footprint but can be used for custom layouts as well.
4
+
5
+ ## Example
6
+
7
+ ```tsx
8
+ export default () => (
9
+ <board width="10mm" height="10mm">
10
+ <jumper name="J1" footprint="pinrow4" />
11
+ </board>
12
+ )
13
+ ```
14
+
15
+ ## Props
16
+
17
+ Commonly used: `manufacturerPartNumber`, `pinLabels`, `schPinStyle`, `schPinSpacing`, `schWidth`, `schHeight`, `schDirection`, `schPinArrangement`
18
+
19
+ ## References
20
+
21
+ - Props: [JumperProps](https://github.com/tscircuit/props#jumperprops-jumper)
22
+ - Source: [lib/components/jumper.ts](https://github.com/tscircuit/props/blob/main/lib/components/jumper.ts)
23
+ - Local docs: [docs/docs/elements/jumper.mdx](../docs/docs/elements/jumper.mdx)