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,27 @@
1
+ # `<resistor />`
2
+
3
+ A `<resistor />` is an extremely common element of electronic designs. It limits the flow of electricity and is critical to making sure digital signals are properly "pulled up" or "pulled down" to set their default value as `1` or `0`
4
+
5
+ ## Example
6
+
7
+ ```tsx
8
+ export default () => (
9
+ <board width="10mm" height="10mm">
10
+ <resistor
11
+ name="R1"
12
+ footprint="0402"
13
+ resistance="1k"
14
+ />
15
+ </board>
16
+ )
17
+ ```
18
+
19
+ ## Props
20
+
21
+ Commonly used: `resistance`, `tolerance`, `pullupFor`, `pullupTo`, `pulldownFor`, `pulldownTo`, `schOrientation`, `schSize`
22
+
23
+ ## References
24
+
25
+ - Props: [ResistorProps](https://github.com/tscircuit/props#resistorprops-resistor)
26
+ - Source: [lib/components/resistor.ts](https://github.com/tscircuit/props/blob/main/lib/components/resistor.ts)
27
+ - Local docs: [docs/docs/elements/resistor.mdx](../docs/docs/elements/resistor.mdx)
@@ -0,0 +1,28 @@
1
+ # `<resonator />`
2
+
3
+ Provides a stable frequency reference for circuits, often used in clock or timing applications.
4
+
5
+ ## Example
6
+
7
+ ```tsx
8
+ export default () => (
9
+ <board width="10mm" height="10mm">
10
+ <resonator
11
+ name="X1"
12
+ frequency="16MHz"
13
+ loadCapacitance="5pF"
14
+ footprint="hc49"
15
+ />
16
+ </board>
17
+ )
18
+ ```
19
+
20
+ ## Props
21
+
22
+ Commonly used: `frequency`, `loadCapacitance`, `pinVariant`, `name`, `footprint`, `connections`
23
+
24
+ ## References
25
+
26
+ - Props: [ResonatorProps](https://github.com/tscircuit/props#resonatorprops-resonator)
27
+ - Source: [lib/components/resonator.ts](https://github.com/tscircuit/props/blob/main/lib/components/resonator.ts)
28
+ - Local docs: [docs/docs/elements/resonator.mdx](../docs/docs/elements/resonator.mdx)
@@ -0,0 +1,39 @@
1
+ # `<schematicarc />`
2
+
3
+ Draw circular arcs within custom schematic symbols.
4
+
5
+ ## Example
6
+
7
+ ```tsx
8
+ export default () => (
9
+ <board width="10mm" height="10mm">
10
+ <chip
11
+ name="U1"
12
+ symbol={
13
+ <symbol>
14
+ <schematicarc
15
+ center={{ x: 0, y: 0 }}
16
+ radius={1}
17
+ startAngleDegrees={0}
18
+ endAngleDegrees={180}
19
+ strokeWidth={0.05}
20
+ />
21
+ <schematicline x1={-1} y1={0} x2={1} y2={0} strokeWidth={0.05} />
22
+ <port name="pin1" direction="left" schX={-1} schY={0} />
23
+ <port name="pin2" direction="right" schX={1} schY={0} />
24
+ </symbol>
25
+ }
26
+ />
27
+ </board>
28
+ )
29
+ ```
30
+
31
+ ## Props
32
+
33
+ Commonly used: `center`, `radius`, `startAngleDegrees`, `endAngleDegrees`, `direction`, `strokeWidth`, `color`, `isDashed`
34
+
35
+ ## References
36
+
37
+ - Props: [SchematicArcProps](https://github.com/tscircuit/props#schematicarcprops-schematicarc)
38
+ - Source: [lib/components/schematic-arc.ts](https://github.com/tscircuit/props/blob/main/lib/components/schematic-arc.ts)
39
+ - Local docs: [docs/docs/elements/schematicarc.mdx](../docs/docs/elements/schematicarc.mdx)
@@ -0,0 +1,22 @@
1
+ # `<schematicbox />`
2
+
3
+ Schematic-space box for grouping or callouts.
4
+
5
+ ## Example
6
+
7
+ ```tsx
8
+ export default () => (
9
+ <board width="20mm" height="12mm">
10
+ <schematicbox schX={0} schY={0} width="18mm" height="10mm" title="Power" />
11
+ </board>
12
+ )
13
+ ```
14
+
15
+ ## Props
16
+
17
+ Commonly used: `schX`, `schY`, `width`, `height`, `overlay`, `padding`, `paddingLeft`, `paddingRight`
18
+
19
+ ## References
20
+
21
+ - Props: [SchematicBoxProps](https://github.com/tscircuit/props#schematicboxprops-schematicbox)
22
+ - Source: [lib/components/schematic-box.ts](https://github.com/tscircuit/props/blob/main/lib/components/schematic-box.ts)
@@ -0,0 +1,26 @@
1
+ # `<schematiccell />`
2
+
3
+ A single cell inside `<schematictable />`.
4
+
5
+ ## Example
6
+
7
+ ```tsx
8
+ export default () => (
9
+ <schematictable schX={0} schY={0}>
10
+ <schematicrow height={0.6}>
11
+ <schematiccell text="R1" />
12
+ <schematiccell text="10k" horizontalAlign="center" />
13
+ </schematicrow>
14
+ </schematictable>
15
+ )
16
+ ```
17
+
18
+ ## Props
19
+
20
+ Commonly used: `children`, `horizontalAlign`, `verticalAlign`, `fontSize`, `rowSpan`, `colSpan`, `width`, `text`
21
+
22
+ ## References
23
+
24
+ - Props: [SchematicCellProps](https://github.com/tscircuit/props#schematiccellprops-schematiccell)
25
+ - Source: [lib/components/schematic-cell.ts](https://github.com/tscircuit/props/blob/main/lib/components/schematic-cell.ts)
26
+ - Local docs: [docs/docs/elements/schematictable.mdx](../docs/docs/elements/schematictable.mdx)
@@ -0,0 +1,36 @@
1
+ # `<schematiccircle />`
2
+
3
+ Draw circles within custom schematic symbols.
4
+
5
+ ## Example
6
+
7
+ ```tsx
8
+ export default () => (
9
+ <board width="10mm" height="10mm">
10
+ <chip
11
+ name="U1"
12
+ symbol={
13
+ <symbol>
14
+ <schematiccircle
15
+ center={{ x: 0, y: 0 }}
16
+ radius={1}
17
+ isFilled={false}
18
+ />
19
+ <port name="pin1" direction="left" schX={-1} schY={0} />
20
+ <port name="pin2" direction="right" schX={1} schY={0} />
21
+ </symbol>
22
+ }
23
+ />
24
+ </board>
25
+ )
26
+ ```
27
+
28
+ ## Props
29
+
30
+ Commonly used: `center`, `radius`, `strokeWidth`, `color`, `isFilled`, `fillColor`, `isDashed`, `name`
31
+
32
+ ## References
33
+
34
+ - Props: [SchematicCircleProps](https://github.com/tscircuit/props#schematiccircleprops-schematiccircle)
35
+ - Source: [lib/components/schematic-circle.ts](https://github.com/tscircuit/props/blob/main/lib/components/schematic-circle.ts)
36
+ - Local docs: [docs/docs/elements/schematiccircle.mdx](../docs/docs/elements/schematiccircle.mdx)
@@ -0,0 +1,39 @@
1
+ # `<schematicline />`
2
+
3
+ Draw straight lines within custom schematic symbols.
4
+
5
+ ## Example
6
+
7
+ ```tsx
8
+ export default () => (
9
+ <board width="10mm" height="10mm">
10
+ <chip
11
+ name="U1"
12
+ symbol={
13
+ <symbol>
14
+ <schematicrect
15
+ schX={0}
16
+ schY={0}
17
+ width={2}
18
+ height={1.5}
19
+ isFilled={false}
20
+ />
21
+ <schematicline x1={-1} y1={0} x2={1} y2={0} strokeWidth={0.04} />
22
+ <port name="in" direction="left" schX={-1} schY={0} />
23
+ <port name="out" direction="right" schX={1} schY={0} />
24
+ </symbol>
25
+ }
26
+ />
27
+ </board>
28
+ )
29
+ ```
30
+
31
+ ## Props
32
+
33
+ Commonly used: `x1`, `y1`, `x2`, `y2`, `strokeWidth`, `color`, `isDashed`, `name`
34
+
35
+ ## References
36
+
37
+ - Props: [SchematicLineProps](https://github.com/tscircuit/props#schematiclineprops-schematicline)
38
+ - Source: [lib/components/schematic-line.ts](https://github.com/tscircuit/props/blob/main/lib/components/schematic-line.ts)
39
+ - Local docs: [docs/docs/elements/schematicline.mdx](../docs/docs/elements/schematicline.mdx)
@@ -0,0 +1,40 @@
1
+ # `<schematicpath />`
2
+
3
+ Draw connected line segments within custom schematic symbols.
4
+
5
+ ## Example
6
+
7
+ ```tsx
8
+ export default () => (
9
+ <board width="12mm" height="10mm">
10
+ <chip
11
+ name="U1"
12
+ symbol={
13
+ <symbol>
14
+ <schematicpath
15
+ strokeWidth={0.05}
16
+ points={[
17
+ { x: -1, y: -0.6 },
18
+ { x: -0.3, y: 0.6 },
19
+ { x: 0.4, y: -0.6 },
20
+ { x: 1.1, y: 0.6 },
21
+ ]}
22
+ />
23
+ <port name="in" direction="left" schX={-1.5} schY={0} />
24
+ <port name="out" direction="right" schX={1.5} schY={0} />
25
+ </symbol>
26
+ }
27
+ />
28
+ </board>
29
+ )
30
+ ```
31
+
32
+ ## Props
33
+
34
+ Commonly used: `points`, `svgPath`, `strokeWidth`, `strokeColor`, `isFilled`, `fillColor`, `name`, `footprint`
35
+
36
+ ## References
37
+
38
+ - Props: [SchematicPathProps](https://github.com/tscircuit/props#schematicpathprops-schematicpath)
39
+ - Source: [lib/components/schematic-path.ts](https://github.com/tscircuit/props/blob/main/lib/components/schematic-path.ts)
40
+ - Local docs: [docs/docs/elements/schematicpath.mdx](../docs/docs/elements/schematicpath.mdx)
@@ -0,0 +1,38 @@
1
+ # `<schematicrect />`
2
+
3
+ Draw rectangles and boxes within custom schematic symbols.
4
+
5
+ ## Example
6
+
7
+ ```tsx
8
+ export default () => (
9
+ <board width="10mm" height="10mm">
10
+ <chip
11
+ name="U1"
12
+ symbol={
13
+ <symbol>
14
+ <schematicrect
15
+ schX={0}
16
+ schY={0}
17
+ width={2}
18
+ height={1.5}
19
+ isFilled={false}
20
+ />
21
+ <port name="pin1" direction="left" schX={-1} schY={0} />
22
+ <port name="pin2" direction="right" schX={1} schY={0} />
23
+ </symbol>
24
+ }
25
+ />
26
+ </board>
27
+ )
28
+ ```
29
+
30
+ ## Props
31
+
32
+ Commonly used: `schX`, `schY`, `width`, `height`, `rotation`, `strokeWidth`, `color`, `isFilled`
33
+
34
+ ## References
35
+
36
+ - Props: [SchematicRectProps](https://github.com/tscircuit/props#schematicrectprops-schematicrect)
37
+ - Source: [lib/components/schematic-rect.ts](https://github.com/tscircuit/props/blob/main/lib/components/schematic-rect.ts)
38
+ - Local docs: [docs/docs/elements/schematicrect.mdx](../docs/docs/elements/schematicrect.mdx)
@@ -0,0 +1,26 @@
1
+ # `<schematicrow />`
2
+
3
+ A row inside `<schematictable />`.
4
+
5
+ ## Example
6
+
7
+ ```tsx
8
+ export default () => (
9
+ <schematictable schX={0} schY={0}>
10
+ <schematicrow height={0.6}>
11
+ <schematiccell text="R1" />
12
+ <schematiccell text="10k" />
13
+ </schematicrow>
14
+ </schematictable>
15
+ )
16
+ ```
17
+
18
+ ## Props
19
+
20
+ Commonly used: `children`, `height`, `schX`, `schY`
21
+
22
+ ## References
23
+
24
+ - Props: [SchematicRowProps](https://github.com/tscircuit/props#schematicrowprops-schematicrow)
25
+ - Source: [lib/components/schematic-row.ts](https://github.com/tscircuit/props/blob/main/lib/components/schematic-row.ts)
26
+ - Local docs: [docs/docs/elements/schematictable.mdx](../docs/docs/elements/schematictable.mdx)
@@ -0,0 +1,91 @@
1
+ # `<schematicsection />`
2
+
3
+ Groups components into a named section on the schematic (e.g. "Power", "Digital").
4
+
5
+ Use `schSectionName` on any component to assign it to a section, then declare the section with `<schematicsection />`.
6
+
7
+ > **No auto-layout.** `<schematicsection />` does NOT move components. You must manually place all components in the section in close proximity using `schX`/`schY` so the section renders as a coherent group.
8
+
9
+ ## Placement rule
10
+
11
+ Pick a cluster origin (e.g. `schX={0} schY={0}`) and place all section members nearby. Components scattered across the schematic will still be tagged to the section but will look disconnected.
12
+
13
+ ## Example
14
+
15
+ ```tsx
16
+ export default () => (
17
+ <board width="40mm" height="20mm">
18
+ <schematicsection name="Power" displayName="Power Supply" />
19
+ <schematicsection name="IO" displayName="Input / Output" />
20
+
21
+ {/* Power section — cluster around schX=0 */}
22
+ <capacitor
23
+ name="C1"
24
+ capacitance="100nF"
25
+ footprint="0402"
26
+ schSectionName="Power"
27
+ schX={0}
28
+ schY={0}
29
+ />
30
+ <capacitor
31
+ name="C2"
32
+ capacitance="10uF"
33
+ footprint="0805"
34
+ schSectionName="Power"
35
+ schX={2}
36
+ schY={0}
37
+ />
38
+ <resistor
39
+ name="R1"
40
+ resistance="10k"
41
+ footprint="0402"
42
+ schSectionName="Power"
43
+ schX={4}
44
+ schY={0}
45
+ />
46
+
47
+ {/* IO section — cluster around schX=12, well separated from Power */}
48
+ <pushbutton
49
+ name="BTN1"
50
+ footprint="button_4pin"
51
+ schSectionName="IO"
52
+ schX={12}
53
+ schY={0}
54
+ />
55
+ <resistor
56
+ name="R2"
57
+ resistance="1k"
58
+ footprint="0402"
59
+ schSectionName="IO"
60
+ schX={14}
61
+ schY={0}
62
+ />
63
+ </board>
64
+ )
65
+ ```
66
+
67
+ ## Props
68
+
69
+ | Prop | Type | Required | Description |
70
+ |------|------|----------|-------------|
71
+ | `name` | `string` | yes | Unique identifier for the section |
72
+ | `displayName` | `string` | no | Human-readable label shown on schematic |
73
+
74
+ ## Assigning components to a section
75
+
76
+ Any component that accepts `CommonComponentProps` has `schSectionName`. Set it to the `name` of a `<schematicsection />`.
77
+
78
+ ```tsx
79
+ <resistor name="R1" resistance="10k" footprint="0402" schSectionName="Power" schX={0} schY={0} />
80
+ ```
81
+
82
+ ## Layout guidance
83
+
84
+ - Keep section members within ~4–6 schematic units of each other.
85
+ - Separate different sections by at least 6–8 units so section boundaries are visually clear.
86
+ - Arrange members in a row or grid — do not leave large schX/schY gaps between them.
87
+
88
+ ## References
89
+
90
+ - Props: [SchematicSectionProps](https://github.com/tscircuit/props#schematicsectionprops-schematicsection)
91
+ - Source: [lib/components/schematic-section.ts](https://github.com/tscircuit/props/blob/main/lib/components/schematic-section.ts)
@@ -0,0 +1,48 @@
1
+ # `<schematictable />`
2
+
3
+ Draw tables within schematics.
4
+
5
+ ## Example
6
+
7
+ ```tsx
8
+ export default () => (
9
+ <board width="20mm" height="20mm">
10
+ <schematictable
11
+ schX={0}
12
+ schY={0}
13
+ borderWidth={0.05}
14
+ fontSize={0.3}
15
+ cellPadding={0.15}
16
+ >
17
+ <schematicrow height={0.6}>
18
+ <schematiccell text="Component" />
19
+ <schematiccell text="Value" horizontalAlign="center" />
20
+ <schematiccell text="Package" />
21
+ </schematicrow>
22
+ <schematicrow height={0.6}>
23
+ <schematiccell text="R1" />
24
+ <schematiccell text="10k" horizontalAlign="center" />
25
+ <schematiccell text="0805" />
26
+ </schematicrow>
27
+ <schematicrow height={0.6}>
28
+ <schematiccell text="C1" />
29
+ <schematiccell text="100nF" horizontalAlign="center" />
30
+ <schematiccell text="0402" />
31
+ </schematicrow>
32
+ <schematicrow height={0.6}>
33
+ <schematiccell text="U1" colSpan={3} horizontalAlign="center" text="ATmega328P" />
34
+ </schematicrow>
35
+ </schematictable>
36
+ </board>
37
+ )
38
+ ```
39
+
40
+ ## Props
41
+
42
+ Commonly used: `schX`, `schY`, `children`, `cellPadding`, `borderWidth`, `anchor`, `fontSize`, `name`
43
+
44
+ ## References
45
+
46
+ - Props: [SchematicTableProps](https://github.com/tscircuit/props#schematictableprops-schematictable)
47
+ - Source: [lib/components/schematic-table.ts](https://github.com/tscircuit/props/blob/main/lib/components/schematic-table.ts)
48
+ - Local docs: [docs/docs/elements/schematictable.mdx](../docs/docs/elements/schematictable.mdx)
@@ -0,0 +1,23 @@
1
+ # `<schematictext />`
2
+
3
+ The `<schematictext />` element places text directly on the schematic.
4
+
5
+ ## Example
6
+
7
+ ```tsx
8
+ export default () => (
9
+ <board width="10mm" height="10mm">
10
+ <schematictext text="Hello" schX={2} schY={3} color="red" anchor="center" />
11
+ </board>
12
+ )
13
+ ```
14
+
15
+ ## Props
16
+
17
+ Commonly used: `schX`, `schY`, `text`, `fontSize`, `anchor`, `color`, `schRotation`, `name`
18
+
19
+ ## References
20
+
21
+ - Props: [SchematicTextProps](https://github.com/tscircuit/props#schematictextprops-schematictext)
22
+ - Source: [lib/components/schematic-text.ts](https://github.com/tscircuit/props/blob/main/lib/components/schematic-text.ts)
23
+ - Local docs: [docs/docs/elements/schematictext.mdx](../docs/docs/elements/schematictext.mdx)
@@ -0,0 +1,27 @@
1
+ # `<silkscreencircle />`
2
+
3
+ Silkscreen circles are often used to indicate "pin1" on a chip.
4
+
5
+ ## Example
6
+
7
+ ```tsx
8
+ export default () => (
9
+ <board width="5mm" height="5mm">
10
+ <group>
11
+ <footprint>
12
+ <silkscreencircle pcbX={0} pcbY={0} radius={1} />
13
+ </footprint>
14
+ </group>
15
+ </board>
16
+ )
17
+ ```
18
+
19
+ ## Props
20
+
21
+ Commonly used: `isFilled`, `isOutline`, `strokeWidth`, `radius`, `name`, `footprint`, `connections`
22
+
23
+ ## References
24
+
25
+ - Props: [SilkscreenCircleProps](https://github.com/tscircuit/props#silkscreencircleprops-silkscreencircle)
26
+ - Source: [lib/components/silkscreen-circle.ts](https://github.com/tscircuit/props/blob/main/lib/components/silkscreen-circle.ts)
27
+ - Local docs: [docs/docs/footprints/silkscreencircle.mdx](../docs/docs/footprints/silkscreencircle.mdx)
@@ -0,0 +1,31 @@
1
+ # `<silkscreenline />`
2
+
3
+ The `<silkscreenline />` element creates a line on the silkscreen layer within a footprint.
4
+
5
+ ## Example
6
+
7
+ ```tsx
8
+ export default () => (
9
+ <board width="50mm" height="50mm">
10
+ <footprint>
11
+ <silkscreenline
12
+ x1="-20mm"
13
+ y1="0mm"
14
+ x2="20mm"
15
+ y2="0mm"
16
+ strokeWidth="0.1mm"
17
+ />
18
+ </footprint>
19
+ </board>
20
+ )
21
+ ```
22
+
23
+ ## Props
24
+
25
+ Commonly used: `pcbX`, `pcbY`, `pcbOffsetX`, `pcbOffsetY`, `pcbRotation`, `strokeWidth`, `x1`, `y1`
26
+
27
+ ## References
28
+
29
+ - Props: [SilkscreenLineProps](https://github.com/tscircuit/props#silkscreenlineprops-silkscreenline)
30
+ - Source: [lib/components/silkscreen-line.ts](https://github.com/tscircuit/props/blob/main/lib/components/silkscreen-line.ts)
31
+ - Local docs: [docs/docs/footprints/silkscreenline.mdx](../docs/docs/footprints/silkscreenline.mdx)
@@ -0,0 +1,70 @@
1
+ # `<silkscreenpath />`
2
+
3
+ The `<silkscreenpath />` element is used to define a custom drawn path on the silkscreen layer.
4
+
5
+ ## Example
6
+
7
+ ```tsx
8
+ export default () => (
9
+ <board width="100mm" height="100mm">
10
+ <chip name="U1" footprint={
11
+ <footprint>
12
+ <silkscreenpath
13
+ strokeWidth="0.5mm"
14
+ route={[
15
+ { x: "0mm", y: "20mm" },
16
+ { x: "-1.53mm", y: "19.88mm" },
17
+ { x: "-3.04mm", y: "19.52mm" },
18
+ { x: "-4.50mm", y: "18.93mm" },
19
+ { x: "-5.88mm", y: "18.09mm" },
20
+ { x: "-7.16mm", y: "17.04mm" },
21
+ { x: "-8.32mm", y: "15.78mm" },
22
+ { x: "-9.33mm", y: "14.33mm" },
23
+ { x: "-10.17mm", y: "12.72mm" },
24
+ { x: "-10.82mm", y: "10.98mm" },
25
+ { x: "-11.27mm", y: "9.13mm" },
26
+ { x: "-11.52mm", y: "7.23mm" },
27
+ { x: "-11.55mm", y: "5.29mm" },
28
+ { x: "-11.37mm", y: "3.36mm" },
29
+ { x: "-10.98mm", y: "1.47mm" },
30
+ { x: "-10.39mm", y: "0mm" },
31
+
32
+ { x: "10.39mm", y: "0mm" },
33
+ { x: "39.61mm", y: "0mm" },
34
+
35
+ { x: "39.61mm", y: "0mm" },
36
+ { x: "41.08mm", y: "0.12mm" },
37
+ { x: "42.59mm", y: "0.48mm" },
38
+ { x: "44.05mm", y: "1.07mm" },
39
+ { x: "45.43mm", y: "1.91mm" },
40
+ { x: "46.71mm", y: "2.96mm" },
41
+ { x: "47.87mm", y: "4.22mm" },
42
+ { x: "48.88mm", y: "5.67mm" },
43
+ { x: "49.72mm", y: "7.28mm" },
44
+ { x: "50.37mm", y: "9.02mm" },
45
+ { x: "50.82mm", y: "10.87mm" },
46
+ { x: "51.07mm", y: "12.77mm" },
47
+ { x: "51.10mm", y: "14.71mm" },
48
+ { x: "50.92mm", y: "16.64mm" },
49
+ { x: "50.53mm", y: "18.53mm" },
50
+ { x: "49.94mm", y: "20mm" },
51
+
52
+ { x: "49.94mm", y: "20mm" },
53
+ { x: "0mm", y: "20mm" }
54
+ ]}
55
+ />
56
+ </footprint>
57
+ } pcbX={-15} />
58
+ </board>
59
+ )
60
+ ```
61
+
62
+ ## Props
63
+
64
+ Commonly used: `pcbLeftEdgeX`, `pcbRightEdgeX`, `pcbTopEdgeY`, `pcbBottomEdgeY`, `pcbX`, `pcbY`, `pcbOffsetX`, `pcbOffsetY`
65
+
66
+ ## References
67
+
68
+ - Props: [SilkscreenPathProps](https://github.com/tscircuit/props#silkscreenpathprops-silkscreenpath)
69
+ - Source: [lib/components/silkscreen-path.ts](https://github.com/tscircuit/props/blob/main/lib/components/silkscreen-path.ts)
70
+ - Local docs: [docs/docs/footprints/silkscreenpath.mdx](../docs/docs/footprints/silkscreenpath.mdx)
@@ -0,0 +1,25 @@
1
+ # `<silkscreenrect />`
2
+
3
+ Silkscreen rectangles can be used to encapsulate a rectangular area around a chip.
4
+
5
+ ## Example
6
+
7
+ ```tsx
8
+ export default () => (
9
+ <board width="5mm" height="5mm">
10
+ <footprint>
11
+ <silkscreenrect pcbX={0} pcbY={0} width={1} height={1} />
12
+ </footprint>
13
+ </board>
14
+ )
15
+ ```
16
+
17
+ ## Props
18
+
19
+ Commonly used: `filled`, `stroke`, `strokeWidth`, `width`, `height`, `cornerRadius`, `name`, `footprint`
20
+
21
+ ## References
22
+
23
+ - Props: [SilkscreenRectProps](https://github.com/tscircuit/props#silkscreenrectprops-silkscreenrect)
24
+ - Source: [lib/components/silkscreen-rect.ts](https://github.com/tscircuit/props/blob/main/lib/components/silkscreen-rect.ts)
25
+ - Local docs: [docs/docs/footprints/silkscreenrect.mdx](../docs/docs/footprints/silkscreenrect.mdx)
@@ -0,0 +1,23 @@
1
+ # `<silkscreentext />`
2
+
3
+ The `<silkscreentext />` element is used to add text to the silkscreen layer within a PCB footprint.
4
+
5
+ ## Example
6
+
7
+ ```tsx
8
+ export default () => (
9
+ <board width="10mm" height="10mm">
10
+ <silkscreentext text="Hello, World!" fontSize="1mm" />
11
+ </board>
12
+ )
13
+ ```
14
+
15
+ ## Props
16
+
17
+ Commonly used: `text`, `anchorAlignment`, `font`, `fontSize`, `isKnockout`, `knockoutPadding`, `knockoutPaddingLeft`, `knockoutPaddingRight`
18
+
19
+ ## References
20
+
21
+ - Props: [SilkscreenTextProps](https://github.com/tscircuit/props#silkscreentextprops-silkscreentext)
22
+ - Source: [lib/components/silkscreen-text.ts](https://github.com/tscircuit/props/blob/main/lib/components/silkscreen-text.ts)
23
+ - Local docs: [docs/docs/footprints/silkscreentext.mdx](../docs/docs/footprints/silkscreentext.mdx)