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
package/README.md ADDED
@@ -0,0 +1,60 @@
1
+ # tsci-agent
2
+
3
+ `tsci-agent` is a Bun/TypeScript command-line program built on the [Pi coding agent SDK](https://pi.dev/docs/latest/sdk). It embeds Pi and loads the `tscircuit` Agent Skill from `github:tscircuit/skill`, so the agent starts with tscircuit- and `tsci`-specific workflows available.
4
+
5
+ ## Install
6
+
7
+ ```bash
8
+ bun install
9
+ ```
10
+
11
+ ## Develop
12
+
13
+ ```bash
14
+ bun run dev
15
+ ```
16
+
17
+ Run the interactive SDK-backed agent:
18
+
19
+ ```bash
20
+ bun run dev -- "Create a minimal tscircuit LED board"
21
+ ```
22
+
23
+ No global `pi` executable is required.
24
+
25
+ ## `do` command
26
+
27
+ Use `do` for a non-interactive SDK run that prints a human-readable stream of agent activity:
28
+
29
+ ```bash
30
+ tsci-agent do --prompt "Create a minimal tscircuit LED board" --dir ./somedir
31
+ ```
32
+
33
+ Sandbox mode runs in a temporary copy of the target directory:
34
+
35
+ ```bash
36
+ tsci-agent do --prompt "Try this refactor" --dir ./somedir --sandbox
37
+ ```
38
+
39
+ `--sandbox` protects the original directory from ordinary writes by using a copy, but it is not a security boundary or container.
40
+
41
+ ## Build
42
+
43
+ ```bash
44
+ bun run build
45
+ ./dist/cli.js --help
46
+ ```
47
+
48
+ The build bundles the Pi SDK code into a JavaScript entrypoint at `dist/cli.js` (not a native binary) and copies `github:tscircuit/skill` into `dist/skill`, so the packaged CLI does not need a global `pi` executable or the skill installed as a runtime dependency.
49
+
50
+ ## Test
51
+
52
+ ```bash
53
+ bun test
54
+ ```
55
+
56
+ Tests use `tests/fixtures/getTestCli.ts`, which starts a local fake OpenAI-compatible LLM server and runs the CLI in a temporary workspace with a temporary Pi config directory.
57
+
58
+ ## How it works
59
+
60
+ The CLI imports `@earendil-works/pi-coding-agent` directly and creates SDK sessions with a `DefaultResourceLoader` that points at `dist/skill/SKILL.md`. The `do` command subscribes to SDK session events and renders assistant text plus tool progress.