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
fix: address third round of Copilot review feedback on community_catalog_docs
- Parameterize list_community_extensions(path=) and render_community_extensions_table(path=)
so callers can supply a custom catalog path without monkeypatching module globals;
update tests to use explicit path= args instead of unittest.mock.patch (r3244776065)
- Escape raw field values (name, description) with _render_cell() BEFORE composing
Markdown link syntax [name](url) so a pipe inside a name/description cannot break
a link target; render_row() no longer re-escapes already-escaped values (r3244829318)
- Fix _format_tags() filter order: clean (replace+strip) first, then filter on the
cleaned value β a tag like ' | ' previously passed the filter but produced an
empty backtick span after pipe removal (r3244829330)
- Update test_tags_containing_pipe: assert row is well-formed (6 pipe separators for
5-column table), assert id falls back to ext_id when 'id' field is absent (r3244829343)
- Change pytest.raises(Exception) to pytest.raises(json.JSONDecodeError) for the
malformed JSON test β the broad Exception catch masks unrelated failures (r3244829358)
- render_community_extensions_table() now returns a trailing newline so Markdown
renderers see a blank line between the last table row and subsequent paragraphs;
restore footer paragraph in extensions.md that was previously crammed onto same
line as last table row (r3244829373)
- Update --markdown help text to make 'ignores filters' behavior explicit rather than
relying on the runtime warning alone (r3244829452)
| `community/` | Community catalog additions | `community/2492-add-mde-extension` |
398
-
| `chore/` | Maintenance, tooling, CI | `chore/2366-editorconfig` |
399
-
400
-
**Rules:**
401
-
402
-
1. Always include the issue or PR number immediately after the prefix β this is what makes branches traceable
403
-
2. Use kebab-case for the slug
404
-
3. Keep the slug short β enough to identify the work without looking up the issue
405
-
406
-
---
407
-
408
382
## Common Pitfalls
409
383
410
384
1. **Using shorthand keys for CLI-based integrations**: For CLI-based integrations (`requires_cli: True`), the `key` must match the executable name (e.g., `"cursor-agent"` not `"cursor"`). `shutil.which(key)` is used for CLI tool checks β mismatches require special-case mappings. IDE-based integrations (`requires_cli: False`) are not subject to this constraint.
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+1-15Lines changed: 1 addition & 15 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -38,7 +38,7 @@ On [GitHub Codespaces](https://github.com/features/codespaces) it's even simpler
38
38
1. Fork and clone the repository
39
39
1. Configure and install the dependencies: `uv sync --extra test`
40
40
1. Make sure the CLI works on your machine: `uv run specify --help`
41
-
1. Create a new branch: `git checkout -b <type>/<number>-<short-slug>` (see [Branch naming](#branch-naming) below)
41
+
1. Create a new branch: `git checkout -b my-branch-name`
42
42
1. Make your change, add tests, and make sure everything still works
43
43
1. Test the CLI functionality with a sample project if relevant
44
44
1. Push to your fork and submit a pull request
@@ -55,20 +55,6 @@ Here are a few things you can do that will increase the likelihood of your pull
55
55
- Write a [good commit message](http://tbaggery.com/2008/04/19/a-note-about-git-commit-messages.html).
56
56
- Test your changes with the Spec-Driven Development workflow to ensure compatibility.
57
57
58
-
### Branch naming
59
-
60
-
We recommend naming branches as `<type>/<number>-<short-slug>`, where `<number>` is the issue or PR number (whichever comes first) and `<type>` is one of:
61
-
62
-
| Prefix | When to use | Example |
63
-
|---|---|---|
64
-
|`feat/`| New features |`feat/2342-workflow-cli-alignment`|
|`community/`| Community catalog additions |`community/2492-add-mde-extension`|
68
-
|`chore/`| Maintenance, tooling, CI |`chore/2366-editorconfig`|
69
-
70
-
Including the issue or PR number makes branches traceable β especially useful since the project uses squash merges and `git branch --merged` won't detect merged branches. If you start with a PR (no issue), use the PR number once it's assigned.
Copy file name to clipboardExpand all lines: README.md
+41-43Lines changed: 41 additions & 43 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -400,24 +400,23 @@ The produced specification should contain a set of user stories and functional r
400
400
At this stage, your project folder contents should resemble the following:
401
401
402
402
```text
403
-
.
404
-
βββ .specify
405
-
β βββ memory
406
-
β β βββ constitution.md
407
-
β βββ scripts
408
-
β β βββ bash
409
-
β β βββ check-prerequisites.sh
410
-
β β βββ common.sh
411
-
β β βββ create-new-feature.sh
412
-
β β βββ setup-plan.sh
413
-
β β βββ setup-tasks.sh
414
-
β βββ templates
415
-
β βββ plan-template.md
416
-
β βββ spec-template.md
417
-
β βββ tasks-template.md
418
-
βββ specs
419
-
βββ 001-create-taskify
420
-
βββ spec.md
403
+
βββ .specify
404
+
βββ memory
405
+
β βββ constitution.md
406
+
βββ scripts
407
+
β βββ bash
408
+
β βββ check-prerequisites.sh
409
+
β βββ common.sh
410
+
β βββ create-new-feature.sh
411
+
β βββ setup-plan.sh
412
+
β βββ setup-tasks.sh
413
+
βββ specs
414
+
β βββ 001-create-taskify
415
+
β βββ spec.md
416
+
βββ templates
417
+
βββ plan-template.md
418
+
βββ spec-template.md
419
+
βββ tasks-template.md
421
420
```
422
421
423
422
### **STEP 3:** Functional specification clarification (required before planning)
@@ -464,31 +463,30 @@ The output of this step will include a number of implementation detail documents
464
463
```text
465
464
.
466
465
βββ CLAUDE.md
467
-
βββ .specify
468
-
β βββ memory
469
-
β β βββ constitution.md
470
-
β βββ scripts
471
-
β β βββ bash
472
-
β β βββ check-prerequisites.sh
473
-
β β βββ common.sh
474
-
β β βββ create-new-feature.sh
475
-
β β βββ setup-plan.sh
476
-
β β βββ setup-tasks.sh
477
-
β βββ templates
478
-
β βββ CLAUDE-template.md
479
-
β βββ plan-template.md
480
-
β βββ spec-template.md
481
-
β βββ tasks-template.md
482
-
βββ specs
483
-
βββ 001-create-taskify
484
-
βββ contracts
485
-
β βββ api-spec.json
486
-
β βββ signalr-spec.md
487
-
βββ data-model.md
488
-
βββ plan.md
489
-
βββ quickstart.md
490
-
βββ research.md
491
-
βββ spec.md
466
+
βββ memory
467
+
β βββ constitution.md
468
+
βββ scripts
469
+
β βββ bash
470
+
β βββ check-prerequisites.sh
471
+
β βββ common.sh
472
+
β βββ create-new-feature.sh
473
+
β βββ setup-plan.sh
474
+
β βββ setup-tasks.sh
475
+
βββ specs
476
+
β βββ 001-create-taskify
477
+
β βββ contracts
478
+
β β βββ api-spec.json
479
+
β β βββ signalr-spec.md
480
+
β βββ data-model.md
481
+
β βββ plan.md
482
+
β βββ quickstart.md
483
+
β βββ research.md
484
+
β βββ spec.md
485
+
βββ templates
486
+
βββ CLAUDE-template.md
487
+
βββ plan-template.md
488
+
βββ spec-template.md
489
+
βββ tasks-template.md
492
490
```
493
491
494
492
Check the `research.md` document to ensure that the right tech stack is used, based on your instructions. You can ask Claude Code to refine it if any of the components stand out, or even have it check the locally-installed version of the platform/framework you want to use (e.g., .NET).
0 commit comments