@tekyzinc/gsd-t 2.70.12 → 2.70.13
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 +8 -0
- package/commands/gsd-t-init-scan-setup.md +40 -13
- package/commands/gsd-t-init.md +64 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,14 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to GSD-T are documented here. Updated with each release.
|
|
4
4
|
|
|
5
|
+
## [2.70.13] - 2026-04-06
|
|
6
|
+
|
|
7
|
+
### Changed (gsd-t-init, gsd-t-init-scan-setup)
|
|
8
|
+
- **Auto-create project directory + GitHub repo** — both `gsd-t-init` and `gsd-t-init-scan-setup` now create the project directory under a configurable base path and auto-create a private GitHub repo via `gh` CLI when a project name is provided as an argument.
|
|
9
|
+
- **Configurable base directory** — `~/.claude/.gsd-t-config` stores `projects_dir` (e.g., `/Users/david/projects`). Set once, never asked again. New projects are created at `{projects_dir}/{project-name}`.
|
|
10
|
+
- **Configurable GitHub org** — `~/.claude/.gsd-t-config` stores `github_org` (e.g., `Tekyz-Inc`). When set, repos are created under the org (`gh repo create {org}/{name}`). When not set, repos are created under the user's personal account.
|
|
11
|
+
- Existing project detection: if the current directory already has code/config files, Step 0 is skipped entirely — no behavior change for existing projects.
|
|
12
|
+
|
|
5
13
|
## [2.70.12] - 2026-04-06
|
|
6
14
|
|
|
7
15
|
### Added (design pipeline — element count reconciliation)
|
|
@@ -6,27 +6,54 @@ Can be run from anywhere — does not require being in the project folder first.
|
|
|
6
6
|
|
|
7
7
|
## Step 1: Project Directory
|
|
8
8
|
|
|
9
|
-
|
|
9
|
+
### 1a. Resolve the base projects directory (for new projects)
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
- **No** → Ask: "What's the project folder name?" (or use `$ARGUMENTS` if provided)
|
|
13
|
-
1. Check if the folder exists in the current directory
|
|
14
|
-
- **Exists** → `cd` into it
|
|
15
|
-
- **Does not exist** → Create it, then `cd` into it
|
|
11
|
+
If `$ARGUMENTS` includes a project name:
|
|
16
12
|
|
|
17
|
-
|
|
13
|
+
1. Check `~/.claude/.gsd-t-config` for settings:
|
|
14
|
+
```
|
|
15
|
+
# ~/.claude/.gsd-t-config format (one key=value per line):
|
|
16
|
+
projects_dir=/Users/username/projects
|
|
17
|
+
github_org=MyOrg
|
|
18
|
+
```
|
|
19
|
+
- If `projects_dir` is set → use `{projects_dir}/{project-name}` as the target
|
|
20
|
+
- If not set → ask: "Where should new projects be created? (e.g., /Users/you/projects)"
|
|
21
|
+
Save their answer to `~/.claude/.gsd-t-config` as `projects_dir={path}`
|
|
22
|
+
|
|
23
|
+
2. Check if the target directory exists:
|
|
24
|
+
- **Exists with files** → `cd` into it (existing project)
|
|
25
|
+
- **Exists but empty** → `cd` into it (new project)
|
|
26
|
+
- **Does not exist** → `mkdir -p {target}` then `cd` into it (new project)
|
|
27
|
+
|
|
28
|
+
If NO `$ARGUMENTS` provided, ask: **"Is `{current directory name}` your project root folder?"**
|
|
29
|
+
- **Yes** → Stay here
|
|
30
|
+
- **No** → Ask for the project name, then apply the resolution above
|
|
18
31
|
|
|
19
32
|
All subsequent steps run from inside the project directory.
|
|
20
33
|
|
|
21
|
-
## Step 2: Git Repository
|
|
34
|
+
## Step 2: Git Repository + GitHub Setup
|
|
22
35
|
|
|
23
36
|
1. Check if the directory is inside a git repo: `git rev-parse --is-inside-work-tree`
|
|
24
|
-
- **Not a git repo** → Run `git init`
|
|
37
|
+
- **Not a git repo** → Run `git init && git checkout -b main`
|
|
25
38
|
2. Check for an existing remote: `git remote -v`
|
|
26
|
-
- **No remote found** →
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
39
|
+
- **No remote found** → Try to create one automatically:
|
|
40
|
+
- Check if `gh` CLI is available and authenticated: `gh auth status`
|
|
41
|
+
- If YES:
|
|
42
|
+
- Check `~/.claude/.gsd-t-config` for `github_org` setting
|
|
43
|
+
- If `github_org` is set:
|
|
44
|
+
```bash
|
|
45
|
+
gh repo create {github_org}/{project-name} --private --source=. --push
|
|
46
|
+
```
|
|
47
|
+
Log: "Created GitHub repo: {github_org}/{project-name} (private)"
|
|
48
|
+
- If `github_org` is NOT set:
|
|
49
|
+
```bash
|
|
50
|
+
gh repo create {project-name} --private --source=. --push
|
|
51
|
+
```
|
|
52
|
+
Log: "Created GitHub repo: {user}/{project-name} (private)"
|
|
53
|
+
- If NO → ask the user for the GitHub repository URL, then run:
|
|
54
|
+
```
|
|
55
|
+
git remote add origin {url}
|
|
56
|
+
```
|
|
30
57
|
- **Remote exists** → Log it and continue
|
|
31
58
|
3. **Pull existing code from remote** (if any):
|
|
32
59
|
- Run `git fetch origin` to get remote refs
|
package/commands/gsd-t-init.md
CHANGED
|
@@ -2,6 +2,70 @@
|
|
|
2
2
|
|
|
3
3
|
You are setting up a new project (or converting an existing one) to use the GSD-T contract-driven workflow.
|
|
4
4
|
|
|
5
|
+
## Step 0: Project Directory + Git + GitHub (new projects only)
|
|
6
|
+
|
|
7
|
+
If `$ARGUMENTS` contains a project name AND the current directory is NOT already a project directory (no `package.json`, `pyproject.toml`, `Cargo.toml`, `src/`, or `CLAUDE.md`), this is a NEW project. Set it up from scratch:
|
|
8
|
+
|
|
9
|
+
### 0a. Resolve the base projects directory
|
|
10
|
+
|
|
11
|
+
Check `~/.claude/.gsd-t-config` for settings:
|
|
12
|
+
```
|
|
13
|
+
# ~/.claude/.gsd-t-config format (one key=value per line):
|
|
14
|
+
projects_dir=/Users/username/projects
|
|
15
|
+
github_org=MyOrg
|
|
16
|
+
```
|
|
17
|
+
|
|
18
|
+
- If `projects_dir` is set → use that path
|
|
19
|
+
- If not → ask user: "Where should new projects be created? (e.g., /Users/you/projects)"
|
|
20
|
+
- Save their answer to `~/.claude/.gsd-t-config` as `projects_dir={path}` so they're never asked again
|
|
21
|
+
|
|
22
|
+
### 0b. Create the project directory
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
mkdir -p {projects_dir}/{project-name}
|
|
26
|
+
cd {projects_dir}/{project-name}
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
If the directory already exists and has files → treat as an existing project, skip to Step 1.
|
|
30
|
+
|
|
31
|
+
### 0c. Initialize git
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
git init
|
|
35
|
+
git checkout -b main
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### 0d. Create GitHub repo
|
|
39
|
+
|
|
40
|
+
Check if `gh` CLI is available and authenticated:
|
|
41
|
+
```bash
|
|
42
|
+
gh auth status
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
- If `gh` is available and authenticated:
|
|
46
|
+
- Check `~/.claude/.gsd-t-config` for `github_org` setting
|
|
47
|
+
- If `github_org` is set:
|
|
48
|
+
```bash
|
|
49
|
+
gh repo create {github_org}/{project-name} --private --source=. --push
|
|
50
|
+
```
|
|
51
|
+
Log: "Created GitHub repo: {github_org}/{project-name} (private)"
|
|
52
|
+
- If `github_org` is NOT set (personal repos):
|
|
53
|
+
```bash
|
|
54
|
+
gh repo create {project-name} --private --source=. --push
|
|
55
|
+
```
|
|
56
|
+
Log: "Created GitHub repo: {user}/{project-name} (private)"
|
|
57
|
+
- If `gh` is not available or not authenticated:
|
|
58
|
+
Log: "GitHub CLI not available — skipping repo creation. Create manually and run: `git remote add origin {url}`"
|
|
59
|
+
|
|
60
|
+
### 0e. Continue with init
|
|
61
|
+
|
|
62
|
+
All subsequent steps run from inside `{projects_dir}/{project-name}`.
|
|
63
|
+
|
|
64
|
+
**Skip Step 0 entirely if:**
|
|
65
|
+
- No project name in `$ARGUMENTS`, OR
|
|
66
|
+
- Current directory already looks like a project (has code/config files), OR
|
|
67
|
+
- Current directory is already inside a git repo with files
|
|
68
|
+
|
|
5
69
|
## Step 1: Assess Current State
|
|
6
70
|
|
|
7
71
|
Check what exists:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tekyzinc/gsd-t",
|
|
3
|
-
"version": "2.70.
|
|
3
|
+
"version": "2.70.13",
|
|
4
4
|
"description": "GSD-T: Contract-Driven Development for Claude Code — 54 slash commands with headless CI/CD mode, graph-powered code analysis, real-time agent dashboard, execution intelligence, task telemetry, doc-ripple enforcement, backlog management, impact analysis, test sync, milestone archival, and PRD generation",
|
|
5
5
|
"author": "Tekyz, Inc.",
|
|
6
6
|
"license": "MIT",
|