You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: .github/prompts/implement.prompt.md
+9-7Lines changed: 9 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -15,7 +15,7 @@ $ARGUMENTS
15
15
**Workflow Modes**: This command supports two modes:
16
16
17
17
-**Local (default)**: Work with the current repository (origin). No special configuration needed.
18
-
-**Fork**: Contribute to an upstream repository. Reads `.fork-info.json` created by `/specify`.
18
+
-**Fork**: Contribute to an upstream repository. Detected via `git remote -v`.
19
19
20
20
**Iteration Support**: This command supports iterative implementation — you can run it multiple times to complete remaining tasks, fix issues, or add refinements. Task completion state is tracked in `tasks.md` with `[X]` markers.
21
21
@@ -25,11 +25,14 @@ $ARGUMENTS
25
25
26
26
1.**Set Implementing label immediately**
27
27
-**Determine target repository**:
28
-
- Check if `.fork-info.json` exists in the feature directory.
Copy file name to clipboardExpand all lines: .github/prompts/plan.prompt.md
+15-23Lines changed: 15 additions & 23 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,19 +12,22 @@ $ARGUMENTS
12
12
13
13
**Workflow Modes**: This command supports two modes:
14
14
-**Local (default)**: Work with the current repository (origin). No special configuration needed.
15
-
-**Fork**: Contribute to an upstream repository. Reads `.fork-info.json` created by `/specify`.
15
+
-**Fork**: Contribute to an upstream repository. Detected via `git remote -v`.
16
16
17
17
**Iteration Support**: This command detects whether you're creating a new plan or updating an existing one based on the presence of plan.md in the feature directory.
18
18
19
19
Given the implementation details provided as an argument, do this:
20
20
21
21
1.**Set Planning label immediately**:
22
22
-**Determine target repository**:
23
-
- Check if `.fork-info.json` exists in the feature directory
-If validation fails, halt and instruct user: "Invalid fork configuration in `.fork-info.json`. Please run `/specify` again with complete fork information: upstream owner, upstream repo."
88
+
-Run `git remote -v` to check configured remotes
89
+
-**If `upstream` remote exists** (fork mode):
90
+
-Parse the upstream URL to extract owner and repo name
- Use `upstream_owner/upstream_repo` for all GitHub operations
90
-
-**If not exists** (local mode - default):
91
-
- Use the current repository (origin) for all GitHub operations
93
+
-**If only `origin` remote exists** (local mode - default):
94
+
- Parse the origin URL to extract owner and repo name
95
+
- Use `origin_owner/origin_repo` for all GitHub operations
92
96
-**Determine PR operation** (create vs update):
93
97
- If PR already exists for this branch, UPDATE it
94
98
- If no PR exists, CREATE a new one
@@ -119,18 +123,6 @@ Given the implementation details provided as an argument, do this:
119
123
***Version/change level label**: Based on the type of change: `Major`, `Minor`, `Patch`, `Fix`, or `Docs`
120
124
***Phase label**: `Planning` (to indicate current phase)
121
125
- Link the PR to the associated issue
122
-
-**After PR creation**: Update `.fork-info.json` (if it exists) with the PR number:
123
-
```json
124
-
{
125
-
"is_fork": true,
126
-
"upstream_owner": "...",
127
-
"upstream_repo": "...",
128
-
"detected_from": "user_input",
129
-
"created_at": "...",
130
-
"issue_number": <issue-number>,
131
-
"pr_number": <pr-number>
132
-
}
133
-
```
134
126
135
127
**GitHub Integration**: If GitHub tools or integrations are available (such as GitHub MCP Server or other GitHub integrations), use them to create/update the PR and manage labels automatically in the target repository. If not available, provide these fallback commands with the correct repository:
Copy file name to clipboardExpand all lines: .github/prompts/specify.prompt.md
+19-58Lines changed: 19 additions & 58 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,38 +12,23 @@ $ARGUMENTS
12
12
13
13
**Workflow Modes**: This command supports two modes:
14
14
-**Local (default)**: Work with the current repository (origin). No special configuration needed.
15
-
-**Fork**: Contribute to an upstream repository. Requires explicit declaration with upstream owner/repo information.
15
+
-**Fork**: Contribute to an upstream repository. Automatically detected via `git remote -v`.
16
16
17
17
**Iteration Support**: This command detects whether you're creating a new feature or refining an existing one based on your current branch.
18
18
19
19
The text the user typed after `/specify` in the triggering message **is** the feature description. Assume you always have it available in this conversation even if `$ARGUMENTS` appears literally below. Do not ask the user to repeat it unless they provided an empty command.
20
20
21
21
Given that feature description, do this:
22
22
23
-
1.**Check for fork contribution**: Analyze the user input for mentions of contributing to a fork or upstream repository. Look for phrases like:
24
-
- "fork contribution"
25
-
- "contributing to upstream"
26
-
- "fork of [owner/repo]"
27
-
- "upstream repo [owner/repo]"
28
-
- Any explicit mention of working on a fork
29
-
30
-
If detected, extract the upstream repository information (owner/repo).
31
-
32
-
**If fork contribution is detected but information is incomplete**, prompt the user:
33
-
34
-
```text
35
-
Fork contribution detected. Please provide the following information:
36
-
- Upstream organization/owner name (e.g., "microsoft", "PSModule")
37
-
- Upstream repository name (e.g., "vscode", "PSModule")
38
-
- Git remote name for upstream (optional, defaults to "upstream")
- Inform user: "Fork contribution detected. Issues and PRs will target `<upstream_owner>/<upstream_repo>`"
29
+
-**If only `origin` remote exists**: Origin mode (default)
30
+
- Parse the origin URL to extract owner and repo name
31
+
- Use `origin_owner/origin_repo` for all GitHub operations
47
32
48
33
2. Analyze the feature description and generate a concise, descriptive branch name:
49
34
- Extract the core concept/action from the description (2-4 words maximum)
@@ -62,29 +47,9 @@ Given that feature description, do this:
62
47
- If you're already on a feature branch (starts with 3 digits like `001-`, `002-`, etc.), you'll stay on that branch to iterate on the existing feature.
63
48
- This allows you to refine specifications without creating multiple branches for the same feature.
64
49
65
-
4.**Store fork information (if detected in step 1)**:
66
-
- If the user indicated this is a fork contribution, create a `.fork-info.json` file in the feature directory (same location as SPEC_FILE)
67
-
-**Validate required fields before creating**:
68
-
-`upstream_owner` must be non-empty string
69
-
-`upstream_repo` must be non-empty string
70
-
- If validation fails, return to step 1 for clarification
8.**Post final status comment**: "✅ Specification complete. Ready for clarification with `/clarify` or planning with `/plan`."
106
+
7.**Post final status comment**: "✅ Specification complete. Ready for clarification with `/clarify` or planning with `/plan`."
146
107
147
-
9. Report completion with branch name, spec file path, whether it's a new or updated feature, issue number, target repository (if fork), and readiness for the next phase.
108
+
8. Report completion with branch name, spec file path, whether it's a new or updated feature, issue number, target repository (if fork), and readiness for the next phase.
148
109
149
110
Note: The script handles branch creation/reuse and initializes the spec file before writing.
Copy file name to clipboardExpand all lines: .github/prompts/tasks.prompt.md
+8-7Lines changed: 8 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -12,7 +12,7 @@ $ARGUMENTS
12
12
13
13
**Workflow Modes**: This command supports two modes:
14
14
-**Local (default)**: Work with the current repository (origin). No special configuration needed.
15
-
-**Fork**: Contribute to an upstream repository. Reads `.fork-info.json` created by `/specify`.
15
+
-**Fork**: Contribute to an upstream repository. Detected via `git remote -v`.
16
16
17
17
**Iteration Support**: This command detects whether you're creating new tasks or updating existing ones based on the presence of tasks.md in the feature directory.
18
18
@@ -83,13 +83,14 @@ $ARGUMENTS
83
83
84
84
8. Update the Pull Request description:
85
85
-**Determine workflow mode and target repository**:
86
-
-Check if `.fork-info.json` exists in the feature directory (same location as plan.md)
-If validation fails, halt and instruct user: "Invalid fork configuration in `.fork-info.json`. Please run `/specify` again with complete fork information: upstream owner, upstream repo."
86
+
-Run `git remote -v` to check configured remotes
87
+
-**If `upstream` remote exists** (fork mode):
88
+
-Parse the upstream URL to extract owner and repo name
Copy file name to clipboardExpand all lines: README.md
+32-4Lines changed: 32 additions & 4 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -373,28 +373,56 @@ Build:
373
373
374
374
### Example 3 - Configuring the Repository Linter
375
375
376
-
This example shows how to configure the repository linter to skip certain validations or disable the linter entirely.
376
+
The workflow uses [super-linter](https://github.com/super-linter/super-linter) to lint your repository code.
377
+
The linter runs on pull requests and provides status updates directly in the PR.
378
+
379
+
#### Disabling the Linter
380
+
381
+
You can skip repository linting entirely:
377
382
378
383
```yaml
379
-
# Skip the linter entirely
380
384
Linter:
381
385
Skip: true
382
386
```
383
387
388
+
#### Configuring Linter Validation Rules
389
+
390
+
The workflow supports all environment variables that super-linter provides. You can configure these through the `Linter.env` object:
391
+
384
392
```yaml
385
-
# Disable specific linter validations
386
393
Linter:
387
394
env:
395
+
# Disable specific validations
388
396
VALIDATE_BIOME_FORMAT: false
389
397
VALIDATE_BIOME_LINT: false
390
398
VALIDATE_GITHUB_ACTIONS_ZIZMOR: false
391
399
VALIDATE_JSCPD: false
392
400
VALIDATE_JSON_PRETTIER: false
393
401
VALIDATE_MARKDOWN_PRETTIER: false
394
402
VALIDATE_YAML_PRETTIER: false
403
+
404
+
# Or enable only specific validations
405
+
VALIDATE_YAML: true
406
+
VALIDATE_JSON: true
407
+
VALIDATE_MARKDOWN: true
395
408
```
396
409
397
-
For a complete list of available linter environment variables, see the [super-linter documentation](https://github.com/super-linter/super-linter#environment-variables).
410
+
#### Additional Configuration
411
+
412
+
Any super-linter environment variable can be set through the `Linter.env` object:
413
+
414
+
```yaml
415
+
Linter:
416
+
env:
417
+
LOG_LEVEL: DEBUG
418
+
FILTER_REGEX_EXCLUDE: '.*test.*'
419
+
VALIDATE_ALL_CODEBASE: false
420
+
```
421
+
422
+
**Note:** The `GITHUB_TOKEN` is automatically provided by the workflow to enable status updates in pull requests.
423
+
424
+
For a complete list of available environment variables and configuration options, see the
0 commit comments