@tsfpp/agents 1.1.0 → 1.1.1

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.
package/CHANGELOG.md CHANGED
@@ -10,6 +10,13 @@ Versioning follows [Semantic Versioning](https://semver.org/).
10
10
 
11
11
  ## [Unreleased]
12
12
 
13
+ ## [1.1.1] - 2026-05-16
14
+
15
+ ### Added
16
+
17
+ - Added bootstrap shell script at `bin/bootstrap.sh`.
18
+ - Exposed bootstrap command in package metadata via `tsfpp-bootstrap`.
19
+
13
20
  ## [1.1.0] - 2026-05-16
14
21
 
15
22
  ### Added
@@ -0,0 +1,103 @@
1
+ #!/usr/bin/env bash
2
+ # tsfpp-bootstrap.sh — spin up a TSF++ sandbox in the current directory
3
+ # Usage: bash tsfpp-bootstrap.sh [project-name]
4
+ # If no name is given, the current directory is used as-is.
5
+
6
+ set -euo pipefail
7
+
8
+ # ── Colours ───────────────────────────────────────────────────────────────────
9
+
10
+ GREEN='\033[0;32m'
11
+ DIM='\033[2m'
12
+ RESET='\033[0m'
13
+
14
+ ok() { echo -e "${GREEN}✓${RESET} $1"; }
15
+ dim() { echo -e "${DIM}$1${RESET}"; }
16
+
17
+ # ── Project directory ─────────────────────────────────────────────────────────
18
+
19
+ PROJECT_NAME="${1:-}"
20
+
21
+ if [[ -n "$PROJECT_NAME" ]]; then
22
+ mkdir -p "$PROJECT_NAME"
23
+ cd "$PROJECT_NAME"
24
+ ok "Created directory: $PROJECT_NAME"
25
+ fi
26
+
27
+ # ── 1. pnpm init ──────────────────────────────────────────────────────────────
28
+
29
+ dim "Initialising package.json…"
30
+ pnpm init --yes > /dev/null
31
+ ok "pnpm init"
32
+
33
+ # ── 2. Install TSF++ ecosystem ────────────────────────────────────────────────
34
+
35
+ dim "Installing TSF++ packages (this may take a moment)…"
36
+ pnpm add -D \
37
+ typescript \
38
+ @tsfpp/standard \
39
+ @tsfpp/tsconfig \
40
+ @tsfpp/eslint-config \
41
+ @tsfpp/prelude \
42
+ @tsfpp/boundary \
43
+ @tsfpp/agents
44
+ ok "Installed TSF++ ecosystem"
45
+
46
+ # ── 3. tsconfig.json ──────────────────────────────────────────────────────────
47
+
48
+ dim "Writing tsconfig.json…"
49
+ cat > tsconfig.json << 'EOF'
50
+ {
51
+ "extends": "@tsfpp/tsconfig/app",
52
+ "compilerOptions": {
53
+ "rootDir": "src"
54
+ },
55
+ "include": ["src"]
56
+ }
57
+ EOF
58
+ ok "tsconfig.json"
59
+
60
+ # ── 4. eslint.config.js ───────────────────────────────────────────────────────
61
+
62
+ dim "Writing eslint.config.js…"
63
+ cat > eslint.config.js << 'EOF'
64
+ import tsfpp from '@tsfpp/eslint-config'
65
+ export default tsfpp
66
+ EOF
67
+ ok "eslint.config.js"
68
+
69
+ # ── 5. package.json — type + scripts ─────────────────────────────────────────
70
+
71
+ dim "Patching package.json…"
72
+ npm pkg set type="module" --silent
73
+ npm pkg set scripts.typecheck="tsc --noEmit" --silent
74
+ npm pkg set scripts.lint="eslint src" --silent
75
+ npm pkg set scripts.check="pnpm typecheck && pnpm lint" --silent
76
+ ok "package.json scripts"
77
+
78
+ # ── 6. src/index.ts ───────────────────────────────────────────────────────────
79
+
80
+ dim "Creating src/index.ts…"
81
+ mkdir -p src
82
+ cat > src/index.ts << 'EOF'
83
+ // TSF++ sandbox — start here
84
+ // Import from @tsfpp/prelude to explore ADTs and combinators:
85
+ //
86
+ // import { ok, err, some, none, pipe, absurd } from '@tsfpp/prelude'
87
+ EOF
88
+ ok "src/index.ts"
89
+
90
+ # ── 7. Copilot agents (.github) ───────────────────────────────────────────────
91
+
92
+ dim "Installing Copilot agents…"
93
+ node node_modules/@tsfpp/agents/init.mjs
94
+ ok "Copilot agents installed"
95
+
96
+ # ── 8. Done ───────────────────────────────────────────────────────────────────
97
+
98
+ echo ""
99
+ echo -e "${GREEN}TSF++ sandbox ready.${RESET}"
100
+ echo ""
101
+ echo " pnpm check — typecheck + lint"
102
+ echo " code . — open in VS Code"
103
+ echo ""
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tsfpp/agents",
3
- "version": "1.1.0",
3
+ "version": "1.1.1",
4
4
  "description": "Workspace AI tooling for TSF++ projects: scoped instructions, coding agents, and reusable prompts",
5
5
  "keywords": [
6
6
  "tsfpp",
@@ -25,7 +25,8 @@
25
25
  "node": ">=18.0.0"
26
26
  },
27
27
  "bin": {
28
- "tsfpp-agents": "./init.mjs"
28
+ "tsfpp-agents": "./init.mjs",
29
+ "tsfpp-bootstrap": "./bin/bootstrap.sh"
29
30
  },
30
31
  "files": [
31
32
  "copilot/",