create-hq 10.1.0 → 10.7.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.
Files changed (70) hide show
  1. package/dist/admin-onboarding.d.ts +42 -0
  2. package/dist/admin-onboarding.d.ts.map +1 -0
  3. package/dist/admin-onboarding.js +460 -0
  4. package/dist/admin-onboarding.js.map +1 -0
  5. package/dist/art.d.ts +17 -0
  6. package/dist/art.d.ts.map +1 -0
  7. package/dist/art.js +171 -0
  8. package/dist/art.js.map +1 -0
  9. package/dist/auth.d.ts +60 -23
  10. package/dist/auth.d.ts.map +1 -1
  11. package/dist/auth.js +219 -116
  12. package/dist/auth.js.map +1 -1
  13. package/dist/cloud.d.ts +26 -0
  14. package/dist/cloud.d.ts.map +1 -0
  15. package/dist/cloud.js +126 -0
  16. package/dist/cloud.js.map +1 -0
  17. package/dist/company-template.d.ts +34 -0
  18. package/dist/company-template.d.ts.map +1 -0
  19. package/dist/company-template.js +142 -0
  20. package/dist/company-template.js.map +1 -0
  21. package/dist/deps.d.ts +2 -0
  22. package/dist/deps.d.ts.map +1 -1
  23. package/dist/deps.js +42 -30
  24. package/dist/deps.js.map +1 -1
  25. package/dist/fetch-template.d.ts +2 -2
  26. package/dist/fetch-template.d.ts.map +1 -1
  27. package/dist/fetch-template.js +54 -38
  28. package/dist/fetch-template.js.map +1 -1
  29. package/dist/git.d.ts.map +1 -1
  30. package/dist/git.js +28 -4
  31. package/dist/git.js.map +1 -1
  32. package/dist/index.js +18 -1
  33. package/dist/index.js.map +1 -1
  34. package/dist/invite-command.d.ts +10 -0
  35. package/dist/invite-command.d.ts.map +1 -0
  36. package/dist/invite-command.js +110 -0
  37. package/dist/invite-command.js.map +1 -0
  38. package/dist/invite.d.ts +91 -0
  39. package/dist/invite.d.ts.map +1 -0
  40. package/dist/invite.js +230 -0
  41. package/dist/invite.js.map +1 -0
  42. package/dist/join-flow.d.ts +32 -0
  43. package/dist/join-flow.d.ts.map +1 -0
  44. package/dist/join-flow.js +194 -0
  45. package/dist/join-flow.js.map +1 -0
  46. package/dist/platform.d.ts +2 -2
  47. package/dist/platform.d.ts.map +1 -1
  48. package/dist/platform.js +14 -1
  49. package/dist/platform.js.map +1 -1
  50. package/dist/scaffold.d.ts +4 -1
  51. package/dist/scaffold.d.ts.map +1 -1
  52. package/dist/scaffold.js +152 -41
  53. package/dist/scaffold.js.map +1 -1
  54. package/dist/team-setup.d.ts +58 -0
  55. package/dist/team-setup.d.ts.map +1 -0
  56. package/dist/team-setup.js +237 -0
  57. package/dist/team-setup.js.map +1 -0
  58. package/dist/teams-flow.d.ts +36 -0
  59. package/dist/teams-flow.d.ts.map +1 -0
  60. package/dist/teams-flow.js +134 -0
  61. package/dist/teams-flow.js.map +1 -0
  62. package/dist/tui.d.ts +8 -0
  63. package/dist/tui.d.ts.map +1 -0
  64. package/dist/tui.js +86 -0
  65. package/dist/tui.js.map +1 -0
  66. package/dist/ui.d.ts +17 -0
  67. package/dist/ui.d.ts.map +1 -1
  68. package/dist/ui.js +45 -0
  69. package/dist/ui.js.map +1 -1
  70. package/package.json +1 -1
@@ -0,0 +1,142 @@
1
+ /**
2
+ * Company / team-repo template generator.
3
+ *
4
+ * When an admin creates a new team, we need to seed the new {org}/hq private
5
+ * repo with a baseline directory structure that mirrors what /newcompany
6
+ * produces. This module renders that structure into a target directory
7
+ * (which is then committed and pushed to the new GitHub repo).
8
+ *
9
+ * No filesystem dependencies on the core HQ template — these files are
10
+ * synthesized in code so the seed is version-locked with the create-hq
11
+ * release the user just installed.
12
+ */
13
+ import * as fs from "fs";
14
+ import * as path from "path";
15
+ const COMPANY_SUBDIRS = [
16
+ "knowledge",
17
+ "settings",
18
+ "data",
19
+ "workers",
20
+ "repos",
21
+ "projects",
22
+ "policies",
23
+ ];
24
+ const GITIGNORE = `# Local secrets and caches — never commit
25
+ settings/*.local.*
26
+ settings/.env*
27
+ data/cache/
28
+ data/tmp/
29
+ *.log
30
+ .DS_Store
31
+ Thumbs.db
32
+ `;
33
+ function readme(meta) {
34
+ return `# ${meta.team_name}
35
+
36
+ HQ Teams workspace for **${meta.org_login}**.
37
+
38
+ ## What is this?
39
+
40
+ This repository is the shared workspace for the **${meta.team_name}** HQ team.
41
+ Members of the \`${meta.org_login}\` GitHub organization with access to this
42
+ repo will see its contents inside their local HQ at:
43
+
44
+ \`\`\`
45
+ companies/${meta.team_slug}/
46
+ \`\`\`
47
+
48
+ ## Structure
49
+
50
+ | Directory | Purpose |
51
+ |-----------|---------|
52
+ | \`knowledge/\` | Shared docs, references, and qmd-indexed content |
53
+ | \`settings/\` | Team-scoped credentials and config (gitignore secrets) |
54
+ | \`data/\` | Exports, datasets, and reports |
55
+ | \`workers/\` | Custom worker definitions for this team |
56
+ | \`repos/\` | References to repos the team owns |
57
+ | \`projects/\` | Active projects with PRDs and stories |
58
+ | \`policies/\` | Team policies (auto-loaded by Claude Code) |
59
+
60
+ ## Adding members
61
+
62
+ Anyone with access to this repository on GitHub will automatically pick up
63
+ this workspace when they run \`npx create-hq\`. To add a teammate, grant them
64
+ access through the \`${meta.org_login}\` GitHub organization or directly to
65
+ this repository.
66
+
67
+ ## Created
68
+
69
+ - Created by: @${meta.created_by}
70
+ - Created at: ${meta.created_at}
71
+ - Seeded from: create-hq / HQ template ${meta.hq_version}
72
+ `;
73
+ }
74
+ function knowledgeReadme(meta) {
75
+ return `# ${meta.team_name} Knowledge
76
+
77
+ This is the shared knowledge base for the ${meta.team_name} HQ team.
78
+
79
+ Drop markdown files here to share docs, references, and conventions across
80
+ the team. Indexed by qmd for semantic + full-text search.
81
+ `;
82
+ }
83
+ /**
84
+ * Render the company template into targetDir. Creates the directory if it
85
+ * does not exist. Will not overwrite existing files (idempotent on re-runs).
86
+ */
87
+ export function writeCompanyTemplate(targetDir, meta) {
88
+ fs.mkdirSync(targetDir, { recursive: true });
89
+ // Subdirectories with .gitkeep
90
+ for (const sub of COMPANY_SUBDIRS) {
91
+ const dir = path.join(targetDir, sub);
92
+ fs.mkdirSync(dir, { recursive: true });
93
+ const gitkeep = path.join(dir, ".gitkeep");
94
+ if (!fs.existsSync(gitkeep)) {
95
+ fs.writeFileSync(gitkeep, "", "utf-8");
96
+ }
97
+ }
98
+ // README.md
99
+ const readmePath = path.join(targetDir, "README.md");
100
+ if (!fs.existsSync(readmePath)) {
101
+ fs.writeFileSync(readmePath, readme(meta), "utf-8");
102
+ }
103
+ // team.json
104
+ const teamJsonPath = path.join(targetDir, "team.json");
105
+ if (!fs.existsSync(teamJsonPath)) {
106
+ fs.writeFileSync(teamJsonPath, JSON.stringify(meta, null, 2) + "\n", "utf-8");
107
+ }
108
+ // knowledge/README.md (replaces .gitkeep there)
109
+ const knowledgeReadmePath = path.join(targetDir, "knowledge", "README.md");
110
+ if (!fs.existsSync(knowledgeReadmePath)) {
111
+ fs.writeFileSync(knowledgeReadmePath, knowledgeReadme(meta), "utf-8");
112
+ // Remove the redundant .gitkeep now that there's a real file
113
+ const gitkeep = path.join(targetDir, "knowledge", ".gitkeep");
114
+ if (fs.existsSync(gitkeep)) {
115
+ try {
116
+ fs.unlinkSync(gitkeep);
117
+ }
118
+ catch {
119
+ // ignore
120
+ }
121
+ }
122
+ }
123
+ // .gitignore
124
+ const gitignorePath = path.join(targetDir, ".gitignore");
125
+ if (!fs.existsSync(gitignorePath)) {
126
+ fs.writeFileSync(gitignorePath, GITIGNORE, "utf-8");
127
+ }
128
+ }
129
+ /**
130
+ * Ensure all standard company subdirectories exist inside targetDir
131
+ * without overwriting any existing files. Used after cloning a team repo
132
+ * to fill in any directories the upstream repo doesn't have yet.
133
+ */
134
+ export function ensureCompanyStructure(targetDir) {
135
+ for (const sub of COMPANY_SUBDIRS) {
136
+ const dir = path.join(targetDir, sub);
137
+ if (!fs.existsSync(dir)) {
138
+ fs.mkdirSync(dir, { recursive: true });
139
+ }
140
+ }
141
+ }
142
+ //# sourceMappingURL=company-template.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"company-template.js","sourceRoot":"","sources":["../src/company-template.ts"],"names":[],"mappings":"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"}
package/dist/deps.d.ts CHANGED
@@ -13,6 +13,8 @@ export interface InstallCommands {
13
13
  dnf?: string;
14
14
  pacman?: string;
15
15
  npm?: string;
16
+ winget?: string;
17
+ choco?: string;
16
18
  }
17
19
  export interface Dep {
18
20
  name: string;
@@ -1 +1 @@
1
- {"version":3,"file":"deps.d.ts","sourceRoot":"","sources":["../src/deps.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,gBAAgB,GAAG,SAAS,GAAG,SAAS,CAAC;AAE/E,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,SAAS,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,eAAe,CAAC;CAClC;AA+ED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,YAAY,GACrB,MAAM,GAAG,IAAI,CAef;AAoCD,wBAAsB,SAAS,IAAI,OAAO,CAAC;IAAE,WAAW,EAAE,OAAO,CAAA;CAAE,CAAC,CA+EnE"}
1
+ {"version":3,"file":"deps.d.ts","sourceRoot":"","sources":["../src/deps.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAElD,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,gBAAgB,GAAG,SAAS,GAAG,SAAS,CAAC;AAE/E,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,SAAS,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,GAAG;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,EAAE,OAAO,CAAC;IACzB,eAAe,EAAE,eAAe,CAAC;CAClC;AA8FD;;;;GAIG;AACH,wBAAgB,iBAAiB,CAC/B,GAAG,EAAE,GAAG,EACR,QAAQ,EAAE,YAAY,GACrB,MAAM,GAAG,IAAI,CAef;AAgCD,wBAAsB,SAAS,IAAI,OAAO,CAAC;IAAE,WAAW,EAAE,OAAO,CAAA;CAAE,CAAC,CAgFnE"}
package/dist/deps.js CHANGED
@@ -4,6 +4,7 @@ import chalk from "chalk";
4
4
  import { success, warn, info } from "./ui.js";
5
5
  import { detectPlatform } from "./platform.js";
6
6
  const deps = [
7
+ // ── Core (required — installer blocks if missing) ──────────────────────
7
8
  {
8
9
  name: "Node.js",
9
10
  command: "node --version",
@@ -12,6 +13,29 @@ const deps = [
12
13
  autoInstallable: false,
13
14
  installCommands: {},
14
15
  },
16
+ {
17
+ name: "git",
18
+ command: "git --version",
19
+ required: true,
20
+ installHint: "https://git-scm.com/downloads",
21
+ autoInstallable: false,
22
+ installCommands: {},
23
+ },
24
+ {
25
+ name: "gh CLI",
26
+ command: "gh --version",
27
+ required: true,
28
+ installHint: "https://cli.github.com",
29
+ autoInstallable: true,
30
+ installCommands: {
31
+ brew: "brew install gh",
32
+ apt: "sudo apt install gh",
33
+ dnf: "sudo dnf install gh",
34
+ pacman: "sudo pacman -S github-cli",
35
+ winget: "winget install --id GitHub.cli -e",
36
+ choco: "choco install gh -y",
37
+ },
38
+ },
15
39
  {
16
40
  name: "Claude Code CLI",
17
41
  command: "claude --version",
@@ -22,10 +46,11 @@ const deps = [
22
46
  npm: "npm install -g @anthropic-ai/claude-code",
23
47
  },
24
48
  },
49
+ // ── Optional (installer continues if missing) ──────────────────────────
25
50
  {
26
51
  name: "qmd (search)",
27
52
  command: "qmd --version",
28
- required: true,
53
+ required: false,
29
54
  installHint: "npm install -g @tobilu/qmd",
30
55
  autoInstallable: true,
31
56
  installCommands: {
@@ -35,27 +60,16 @@ const deps = [
35
60
  {
36
61
  name: "yq",
37
62
  command: "yq --version",
38
- required: true,
39
- installHint: "brew install yq",
63
+ required: false,
64
+ installHint: "https://github.com/mikefarah/yq#install",
40
65
  autoInstallable: true,
41
66
  installCommands: {
42
67
  brew: "brew install yq",
43
68
  apt: "sudo snap install yq",
44
69
  dnf: "sudo dnf install yq",
45
70
  pacman: "sudo pacman -S yq",
46
- },
47
- },
48
- {
49
- name: "gh CLI",
50
- command: "gh --version",
51
- required: false,
52
- installHint: "brew install gh",
53
- autoInstallable: true,
54
- installCommands: {
55
- brew: "brew install gh",
56
- apt: "sudo apt install gh",
57
- dnf: "sudo dnf install gh",
58
- pacman: "sudo pacman -S github-cli",
71
+ winget: "winget install --id MikeFarah.yq -e",
72
+ choco: "choco install yq -y",
59
73
  },
60
74
  },
61
75
  {
@@ -99,11 +113,7 @@ export function getInstallCommand(dep, platform) {
99
113
  }
100
114
  function checkCommand(command) {
101
115
  try {
102
- const output = execSync(command, {
103
- stdio: "pipe",
104
- encoding: "utf-8",
105
- timeout: 10_000, // 10s — prevents hanging on slow commands (e.g. claude --version)
106
- });
116
+ const output = execSync(command, { stdio: "pipe", encoding: "utf-8" });
107
117
  const version = output.trim().split("\n")[0];
108
118
  return version;
109
119
  }
@@ -150,7 +160,7 @@ export async function checkDeps() {
150
160
  // Can offer auto-install
151
161
  const defaultYes = dep.required;
152
162
  const optionalTag = dep.required ? "" : " (optional)";
153
- const accepted = await confirm(`Install ${dep.name}?${optionalTag} [${installCmd}]`, defaultYes);
163
+ const accepted = await confirm(`${dep.name} not found.${optionalTag} Install now? [${installCmd}]`, defaultYes);
154
164
  if (accepted) {
155
165
  info(`Running: ${installCmd}`);
156
166
  try {
@@ -166,23 +176,25 @@ export async function checkDeps() {
166
176
  results.push({ name: dep.name, required: dep.required, status: "just-installed", version: recheck, installHint: dep.installHint });
167
177
  continue;
168
178
  }
169
- else {
170
- warn(`${dep.name} install failed — could not verify after install`);
179
+ else if (dep.required) {
180
+ warn(`${dep.name} install failed — this is required to continue`);
171
181
  results.push({ name: dep.name, required: dep.required, status: "missing", installHint: dep.installHint });
172
- if (dep.required) {
173
- allRequired = false;
174
- }
182
+ allRequired = false;
183
+ }
184
+ else {
185
+ info(`${dep.name} install didn't stick — you can install it later: ${dep.installHint}`);
186
+ results.push({ name: dep.name, required: dep.required, status: "skipped", installHint: dep.installHint });
175
187
  }
176
188
  }
177
189
  else {
178
190
  // User declined
179
191
  if (dep.required) {
180
- warn(`${dep.name} not found (required)`);
192
+ warn(`${dep.name} is required — can't continue without it`);
181
193
  results.push({ name: dep.name, required: dep.required, status: "missing", installHint: dep.installHint });
182
194
  allRequired = false;
183
195
  }
184
196
  else {
185
- info(`${dep.name} (optional)skipped`);
197
+ info(`${dep.name} skippedyou can install it later: ${dep.installHint}`);
186
198
  results.push({ name: dep.name, required: dep.required, status: "skipped", installHint: dep.installHint });
187
199
  }
188
200
  }
@@ -196,7 +208,7 @@ export async function checkDeps() {
196
208
  allRequired = false;
197
209
  }
198
210
  else {
199
- info(`${dep.name} (optional) — ${dep.installHint}`);
211
+ info(`${dep.name} (optional) — install later: ${dep.installHint}`);
200
212
  results.push({ name: dep.name, required: dep.required, status: "skipped", installHint: dep.installHint });
201
213
  }
202
214
  }
package/dist/deps.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"deps.js","sourceRoot":"","sources":["../src/deps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deps.js","sourceRoot":"","sources":["../src/deps.ts"],"names":[],"mappings":"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"}
@@ -3,8 +3,8 @@
3
3
  *
4
4
  * Strategy:
5
5
  * 1. GitHub REST API → download tarball_url
6
- * 2. Fallback: gh CLI (`gh api repos/indigoai-us/hq/tarball/{ref}`)
7
- * 3. If both fail: throw with manual clone instructions
6
+ * 2. Fallback: `git clone --depth 1` (git is a hard dep, checked up front)
7
+ * 3. If both fail: throw with manual instructions
8
8
  *
9
9
  * Returns the version tag that was fetched.
10
10
  */
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-template.d.ts","sourceRoot":"","sources":["../src/fetch-template.ts"],"names":[],"mappings":"AAsGA;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,EACjB,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CAwC9B"}
1
+ {"version":3,"file":"fetch-template.d.ts","sourceRoot":"","sources":["../src/fetch-template.ts"],"names":[],"mappings":"AAqIA;;;;;;;;;GASG;AACH,wBAAsB,aAAa,CACjC,SAAS,EAAE,MAAM,EACjB,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC,CA6B9B"}
@@ -3,6 +3,7 @@ import * as path from "path";
3
3
  import * as os from "os";
4
4
  import { execSync } from "child_process";
5
5
  const REPO = "indigoai-us/hq";
6
+ const REPO_HTTPS = `https://github.com/${REPO}.git`;
6
7
  const GITHUB_API = "https://api.github.com";
7
8
  async function getLatestRelease() {
8
9
  const response = await fetch(`${GITHUB_API}/repos/${REPO}/releases/latest`, {
@@ -11,8 +12,7 @@ async function getLatestRelease() {
11
12
  if (!response.ok) {
12
13
  throw new Error(`GitHub API returned ${response.status}: ${response.statusText}`);
13
14
  }
14
- const data = (await response.json());
15
- return data;
15
+ return (await response.json());
16
16
  }
17
17
  async function getTagRelease(tag) {
18
18
  const response = await fetch(`${GITHUB_API}/repos/${REPO}/releases/tags/${tag}`, {
@@ -21,8 +21,7 @@ async function getTagRelease(tag) {
21
21
  if (!response.ok) {
22
22
  throw new Error(`GitHub API returned ${response.status}: ${response.statusText}`);
23
23
  }
24
- const data = (await response.json());
25
- return data;
24
+ return (await response.json());
26
25
  }
27
26
  async function downloadAndExtractViaApi(tarballUrl, targetDir) {
28
27
  const response = await fetch(tarballUrl, {
@@ -48,9 +47,8 @@ function extractTemplateDirFromTar(tarPath, targetDir) {
48
47
  // We need to find the `template/` subdirectory within that and extract it.
49
48
  const tmpExtract = fs.mkdtempSync(path.join(os.tmpdir(), "create-hq-extract-"));
50
49
  try {
51
- // Extract the full tarball to a temp location
50
+ // tar is part of git for windows + present on macOS/Linux
52
51
  execSync(`tar -xzf "${tarPath}" -C "${tmpExtract}"`, { stdio: "pipe" });
53
- // Find the top-level directory created by GitHub's tarball
54
52
  const entries = fs.readdirSync(tmpExtract);
55
53
  if (entries.length === 0) {
56
54
  throw new Error("Tarball was empty");
@@ -60,7 +58,6 @@ function extractTemplateDirFromTar(tarPath, targetDir) {
60
58
  if (!fs.existsSync(templateSrc)) {
61
59
  throw new Error("template/ directory not found in HQ tarball");
62
60
  }
63
- // Copy template contents to targetDir
64
61
  fs.ensureDirSync(targetDir);
65
62
  fs.copySync(templateSrc, targetDir, { overwrite: true });
66
63
  }
@@ -68,17 +65,47 @@ function extractTemplateDirFromTar(tarPath, targetDir) {
68
65
  fs.removeSync(tmpExtract);
69
66
  }
70
67
  }
71
- function extractTemplateDirViaGhCli(tag, targetDir) {
72
- const ref = tag || "HEAD";
73
- const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), "create-hq-gh-"));
74
- const tarPath = path.join(tmpDir, "hq.tar.gz");
68
+ /**
69
+ * Fallback: shallow git clone the public HQ repo and copy template/ out.
70
+ * Used when the GitHub REST API tarball download fails (network, rate limit,
71
+ * proxy issues). Requires git, which is checked as a hard dep before this
72
+ * function is reached.
73
+ */
74
+ function fetchViaGitClone(targetDir, tag) {
75
+ const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), "create-hq-git-"));
75
76
  try {
76
- // Use sh -c so that output redirection works
77
- execSync(`gh api repos/${REPO}/tarball/${ref} > "${tarPath}"`, {
78
- stdio: "pipe",
79
- shell: "/bin/sh",
80
- });
81
- extractTemplateDirFromTar(tarPath, targetDir);
77
+ if (tag) {
78
+ // Clone with a specific tag (still shallow)
79
+ execSync(`git clone --depth 1 --branch "${tag}" "${REPO_HTTPS}" "${tmpDir}"`, { stdio: "pipe" });
80
+ }
81
+ else {
82
+ // Default branch shallow clone
83
+ execSync(`git clone --depth 1 "${REPO_HTTPS}" "${tmpDir}"`, {
84
+ stdio: "pipe",
85
+ });
86
+ }
87
+ const templateSrc = path.join(tmpDir, "template");
88
+ if (!fs.existsSync(templateSrc)) {
89
+ throw new Error("template/ directory not found in cloned HQ repo");
90
+ }
91
+ fs.ensureDirSync(targetDir);
92
+ fs.copySync(templateSrc, targetDir, { overwrite: true });
93
+ // Best-effort version detection: read the cloned tag, or fall back
94
+ let version = tag || "latest";
95
+ if (!tag) {
96
+ try {
97
+ const described = execSync(`git -C "${tmpDir}" describe --tags --abbrev=0`, {
98
+ stdio: "pipe",
99
+ encoding: "utf-8",
100
+ }).trim();
101
+ if (described)
102
+ version = described;
103
+ }
104
+ catch {
105
+ // No tags reachable in shallow clone — keep "latest"
106
+ }
107
+ }
108
+ return { version };
82
109
  }
83
110
  finally {
84
111
  fs.removeSync(tmpDir);
@@ -89,47 +116,36 @@ function extractTemplateDirViaGhCli(tag, targetDir) {
89
116
  *
90
117
  * Strategy:
91
118
  * 1. GitHub REST API → download tarball_url
92
- * 2. Fallback: gh CLI (`gh api repos/indigoai-us/hq/tarball/{ref}`)
93
- * 3. If both fail: throw with manual clone instructions
119
+ * 2. Fallback: `git clone --depth 1` (git is a hard dep, checked up front)
120
+ * 3. If both fail: throw with manual instructions
94
121
  *
95
122
  * Returns the version tag that was fetched.
96
123
  */
97
124
  export async function fetchTemplate(targetDir, tag) {
98
125
  let version = tag || "";
99
- let tarballUrl = "";
100
126
  let apiError = null;
101
127
  // --- Attempt 1: GitHub API ---
102
128
  try {
103
129
  const release = tag ? await getTagRelease(tag) : await getLatestRelease();
104
130
  version = release.tag_name;
105
- tarballUrl = release.tarball_url;
106
- await downloadAndExtractViaApi(tarballUrl, targetDir);
131
+ await downloadAndExtractViaApi(release.tarball_url, targetDir);
107
132
  return { version };
108
133
  }
109
134
  catch (err) {
110
135
  apiError = err;
111
136
  }
112
- // --- Attempt 2: gh CLI fallback ---
137
+ // --- Attempt 2: git clone fallback ---
113
138
  try {
114
- const ref = tag || "HEAD";
115
- extractTemplateDirViaGhCli(ref, targetDir);
116
- // If we got a version from the API response (even if download failed later), keep it.
117
- // Otherwise mark as unknown.
118
- if (!version) {
119
- version = tag || "latest";
120
- }
121
- return { version };
139
+ return fetchViaGitClone(targetDir, tag);
122
140
  }
123
- catch (ghErr) {
124
- // Both failed — provide a clear error message.
141
+ catch (gitErr) {
125
142
  const apiMsg = apiError instanceof Error ? apiError.message : String(apiError);
126
- const ghMsg = ghErr instanceof Error ? ghErr.message : String(ghErr);
143
+ const gitMsg = gitErr instanceof Error ? gitErr.message : String(gitErr);
127
144
  throw new Error(`Failed to fetch HQ template from GitHub.\n\n` +
128
145
  ` GitHub API error: ${apiMsg}\n` +
129
- ` gh CLI error: ${ghMsg}\n\n` +
130
- `You appear to be offline or rate-limited.\n` +
131
- `To set up HQ manually, clone the repo and copy the template directory:\n\n` +
132
- ` git clone https://github.com/indigoai-us/hq.git\n` +
146
+ ` git clone error: ${gitMsg}\n\n` +
147
+ `Check your network connection and try again. To set up HQ manually:\n\n` +
148
+ ` git clone https://github.com/${REPO}.git\n` +
133
149
  ` cp -R hq/template ${targetDir}\n`);
134
150
  }
135
151
  }
@@ -1 +1 @@
1
- {"version":3,"file":"fetch-template.js","sourceRoot":"","sources":["../src/fetch-template.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fetch-template.js","sourceRoot":"","sources":["../src/fetch-template.ts"],"names":[],"mappings":"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"}
package/dist/git.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"AAEA,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAOzC;AAED,wBAAgB,MAAM,IAAI,OAAO,CAOhC"}
1
+ {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"AAYA,wBAAgB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAwBzC;AAED,wBAAgB,MAAM,IAAI,OAAO,CAOhC"}
package/dist/git.js CHANGED
@@ -1,11 +1,35 @@
1
1
  import { execSync } from "child_process";
2
+ function hasGitConfig(key, cwd) {
3
+ try {
4
+ // Check both global and local config
5
+ execSync(`git config ${key}`, { cwd, stdio: "pipe" });
6
+ return true;
7
+ }
8
+ catch {
9
+ return false;
10
+ }
11
+ }
2
12
  export function initGit(dir) {
3
13
  execSync("git init", { cwd: dir, stdio: "pipe" });
14
+ // Ensure user.email and user.name are set — use local config if global is missing
15
+ if (!hasGitConfig("user.email", dir)) {
16
+ execSync('git config user.email "hq-user@localhost"', { cwd: dir, stdio: "pipe" });
17
+ }
18
+ if (!hasGitConfig("user.name", dir)) {
19
+ execSync('git config user.name "HQ User"', { cwd: dir, stdio: "pipe" });
20
+ }
4
21
  execSync("git add -A", { cwd: dir, stdio: "pipe" });
5
- execSync('git commit -m "Initial HQ setup via create-hq"', {
6
- cwd: dir,
7
- stdio: "pipe",
8
- });
22
+ try {
23
+ execSync('git commit -m "Initial HQ setup via create-hq"', {
24
+ cwd: dir,
25
+ stdio: "pipe",
26
+ });
27
+ }
28
+ catch (err) {
29
+ const stderr = err.stderr?.toString() || "";
30
+ const stdout = err.stdout?.toString() || "";
31
+ throw new Error(`git commit failed: ${stderr || stdout || err.message}`);
32
+ }
9
33
  }
10
34
  export function hasGit() {
11
35
  try {
package/dist/git.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,MAAM,UAAU,OAAO,CAAC,GAAW;IACjC,QAAQ,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAClD,QAAQ,CAAC,YAAY,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IACpD,QAAQ,CAAC,gDAAgD,EAAE;QACzD,GAAG,EAAE,GAAG;QACR,KAAK,EAAE,MAAM;KACd,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,MAAM;IACpB,IAAI,CAAC;QACH,QAAQ,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../src/git.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,SAAS,YAAY,CAAC,GAAW,EAAE,GAAY;IAC7C,IAAI,CAAC;QACH,qCAAqC;QACrC,QAAQ,CAAC,cAAc,GAAG,EAAE,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACtD,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,OAAO,CAAC,GAAW;IACjC,QAAQ,CAAC,UAAU,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAElD,kFAAkF;IAClF,IAAI,CAAC,YAAY,CAAC,YAAY,EAAE,GAAG,CAAC,EAAE,CAAC;QACrC,QAAQ,CAAC,2CAA2C,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IACrF,CAAC;IACD,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE,CAAC;QACpC,QAAQ,CAAC,gCAAgC,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1E,CAAC;IAED,QAAQ,CAAC,YAAY,EAAE,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IACpD,IAAI,CAAC;QACH,QAAQ,CAAC,gDAAgD,EAAE;YACzD,GAAG,EAAE,GAAG;YACR,KAAK,EAAE,MAAM;SACd,CAAC,CAAC;IACL,CAAC;IAAC,OAAO,GAAQ,EAAE,CAAC;QAClB,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC5C,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;QAC5C,MAAM,IAAI,KAAK,CACb,sBAAsB,MAAM,IAAI,MAAM,IAAI,GAAG,CAAC,OAAO,EAAE,CACxD,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,MAAM;IACpB,IAAI,CAAC;QACH,QAAQ,CAAC,eAAe,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}