Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
0b6afbe
feat: v0.13.2 - Add --install-deps option and enhance contract workfl…
djm81 Dec 6, 2025
c579143
feat: implement Phase 4.11 Dual-Stack Enrichment Pattern (#43)
djm81 Dec 7, 2025
fc6773f
feat: Phase 4.9 (Quick Start) and Phase 4.10 (CI Performance) Optimiz…
djm81 Dec 7, 2025
0684b7f
feat: Natural UX Flow - Phases 4.1-4.5 Complete (#45)
djm81 Dec 9, 2025
cb3e432
chore: bump version to 0.15.0
djm81 Dec 10, 2025
a1779f0
fix: remove duplicate 'First value' and 'Themes detected' messages fr…
djm81 Dec 10, 2025
5c8195b
Fix formatting
djm81 Dec 10, 2025
5a5626d
fix: recognize simplified acceptance criteria format and add --output…
djm81 Dec 11, 2025
7983079
Improve review prompt, add cleanup script
djm81 Dec 11, 2025
3d58d2e
fix(plan): integrate INTERACTION_UX answers and improve coverage display
djm81 Dec 11, 2025
9063d57
chore: add findings.json to .gitignore
djm81 Dec 11, 2025
3a1153c
feat: Project Bundle Phase 5-6 - Persona Workflows & OpenAPI Enforcem…
djm81 Dec 12, 2025
0543d65
Merge remote-tracking branch 'origin/main' into dev
djm81 Dec 12, 2025
06fe490
feat: implement Phase 5.3 lock enforcement with E2E tests
djm81 Dec 12, 2025
0d6f52d
feat: Add contract verify command and improve mock server reliability…
djm81 Dec 14, 2025
ef2d329
chore: merge main into dev - resolve conflicts
djm81 Dec 14, 2025
e92a9a5
Adding project version commands
djm81 Dec 15, 2025
eeeb7ba
chore: release 0.17.0 with warn CI version check
djm81 Dec 15, 2025
91570f4
chore: remove run command per bridge plan
djm81 Dec 15, 2025
f1e5624
Update changelog
djm81 Dec 15, 2025
de67e41
test: add version command integration coverage
djm81 Dec 15, 2025
9d5a646
Update getting started syntax
djm81 Dec 15, 2025
ed715bd
feat: merge v0.17.0 - deprecate implement, add bridge commands, versi…
djm81 Dec 16, 2025
768ba4d
docs: v0.18.0 - update README positioning, deprecation messaging
djm81 Dec 16, 2025
4ad87a6
docs: add AI IDE bridge workflow to getting-started and docs index
djm81 Dec 16, 2025
ad8efc0
feat: restore bridge commands (fix-prompt, test-prompt) from stash
djm81 Dec 16, 2025
05bbbdf
test: v0.19.0 - add bridge command tests and migration guide
djm81 Dec 16, 2025
cdd90c2
Add fixes on formatting
djm81 Dec 16, 2025
da2e201
docs: improve Jekyll GitHub Pages integration with navigation and sty…
djm81 Dec 18, 2025
890b1f6
chore: prepare v0.20.0 LTS release
djm81 Dec 18, 2025
5c905ec
fix: Add external repository support for repro command (v0.20.1) (#52)
djm81 Dec 20, 2025
1a3f039
chore: resolve merge conflicts with main branch
djm81 Dec 20, 2025
ce6bb73
feat: add automatic GitHub release creation after PyPI publishing
djm81 Dec 20, 2025
b15861d
fix: sidecar template code quality improvements (v0.20.5) (#58)
djm81 Dec 24, 2025
3dec754
chore: resolve merge conflicts between dev and main
djm81 Dec 24, 2025
bfae8a4
fix: PlanBundle schema hotpatch (v0.20.6)
djm81 Dec 26, 2025
68c88a3
feat(sync): DevOps backlog tracking and OpenSpec bridge adapter integ…
djm81 Dec 29, 2025
5b68e62
chore: merge main into dev to resolve PR conflicts (v0.21.0)
djm81 Dec 29, 2025
4848fca
docs: enhance directory-structure.md with change tracking details and…
djm81 Dec 30, 2025
78a1a6a
Merge main into dev - sync with latest changes
djm81 Dec 31, 2025
7e3660c
fix: add sudo to GitHub CLI installation in workflow
djm81 Dec 31, 2025
80d4c17
fix: resolve merge conflict markers in README.md
djm81 Dec 31, 2025
07e79c1
feat: add .specify/specs/ detection and improve schema version handli…
djm81 Jan 2, 2026
761d3ed
Merge branch 'main' into dev
djm81 Jan 2, 2026
cb032aa
fix: make constitution check adapter-specific (Spec-Kit only)
djm81 Jan 2, 2026
418d389
fix: use detected adapter tool directly in auto-detect
djm81 Jan 2, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
70 changes: 64 additions & 6 deletions .cursor/commands/specfact.sync-backlog.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,8 @@ Sync OpenSpec change proposals to DevOps backlog tools (GitHub Issues, ADO, Line

### Target/Input

- `--repo PATH` - Path to repository. Default: current directory (.)
- `--repo PATH` - Path to OpenSpec repository containing change proposals. Default: current directory (.)
- `--code-repo PATH` - Path to source code repository for code change detection (default: same as `--repo`). **Required when OpenSpec repository differs from source code repository.** For example, if OpenSpec proposals are in `specfact-cli-internal` but source code is in `specfact-cli`, use `--repo /path/to/specfact-cli-internal --code-repo /path/to/specfact-cli`.
- `--target-repo OWNER/REPO` - Target repository for issue creation (format: owner/repo). Default: same as code repository

### Behavior/Options
Expand Down Expand Up @@ -49,6 +50,18 @@ Sync OpenSpec change proposals to DevOps backlog tools (GitHub Issues, ADO, Line
- `--tmp-file PATH` - Specify temporary file path (used with --export-to-tmp or --import-from-tmp)
- Default: `/tmp/specfact-proposal-<change-id>.md` or `/tmp/specfact-proposal-<change-id>-sanitized.md`

### Code Change Tracking (Advanced)

- `--track-code-changes/--no-track-code-changes` - Detect code changes (git commits, file modifications) and add progress comments to existing issues (default: False)
- **Repository Selection**: Uses `--code-repo` if provided, otherwise uses `--repo` for code change detection
- **Git Commit Detection**: Searches git log for commits mentioning the change proposal ID (e.g., `add-code-change-tracking`)
- **File Change Tracking**: Extracts files modified in detected commits
- **Progress Comment Generation**: Formats comment with commit details and file changes
- **Duplicate Prevention**: Checks against existing comments to avoid duplicates
- **Source Tracking Update**: Updates `proposal.md` with progress metadata
- `--add-progress-comment/--no-add-progress-comment` - Add manual progress comment to existing issues without code change detection (default: False)
- `--update-existing/--no-update-existing` - Update existing issue bodies when proposal content changes (default: False for safety). Uses content hash to detect changes.

### Advanced/Configuration

- `--adapter TYPE` - DevOps adapter type (github, ado, linear, jira). Default: github
Expand Down Expand Up @@ -101,8 +114,10 @@ Sync OpenSpec change proposals to DevOps backlog tools (GitHub Issues, ADO, Line
**For non-sanitized proposals** (direct export):

```bash
specfact sync bridge --adapter github --mode export-only --repo <path> \
specfact sync bridge --adapter github --mode export-only --repo <openspec-path> \
--no-sanitize --change-ids <id1,id2> \
[--code-repo <source-code-path>] \
[--track-code-changes] [--add-progress-comment] \
[--target-repo <owner/repo>] [--repo-owner <owner>] [--repo-name <name>] \
[--github-token <token>] [--use-gh-cli]
```
Expand All @@ -111,13 +126,16 @@ specfact sync bridge --adapter github --mode export-only --repo <path> \

```bash
# Step 3a: Export to temporary file for LLM review
specfact sync bridge --adapter github --mode export-only --repo <path> \
specfact sync bridge --adapter github --mode export-only --repo <openspec-path> \
--sanitize --change-ids <id1,id2> \
[--code-repo <source-code-path>] \
--export-to-tmp --tmp-file /tmp/specfact-proposal-<change-id>.md \
[--target-repo <owner/repo>] [--repo-owner <owner>] [--repo-name <name>] \
[--github-token <token>] [--use-gh-cli]
```

**Note**: When `--code-repo` is provided, code change detection uses that repository. Otherwise, code changes are detected in the OpenSpec repository (`--repo`).

### Step 4: LLM Sanitization Review (Slash Command Only, For Sanitized Proposals)

**Only execute if sanitization is required**:
Expand Down Expand Up @@ -173,6 +191,10 @@ specfact sync bridge --adapter github --mode export-only --repo <path> \
- Show issue URLs and numbers
- Indicate sanitization status (if applied)
- List which proposals were sanitized vs exported directly
- **Show code change tracking results** (if `--track-code-changes` was enabled):
- Number of commits detected
- Number of progress comments added
- Repository used for code change detection (`--code-repo` or `--repo`)
- **Show filtering warnings** (if proposals were filtered out due to status)
- Example: `⚠ Filtered out 2 proposal(s) with non-applied status (public repos only sync archived/completed proposals)`
- Present any warnings or errors
Expand Down Expand Up @@ -223,8 +245,9 @@ When in copilot mode, follow this workflow:

```bash
# For each sanitized proposal, export to temp file
specfact sync bridge --adapter github --mode export-only --repo <path> \
specfact sync bridge --adapter github --mode export-only --repo <openspec-path> \
--change-ids <change-id> --export-to-tmp --tmp-file /tmp/specfact-proposal-<change-id>.md \
[--code-repo <source-code-path>] \
[other options]
```

Expand Down Expand Up @@ -293,8 +316,10 @@ specfact sync bridge --adapter github --mode export-only --repo <path> \

```bash
# Export non-sanitized proposals directly
specfact sync bridge --adapter github --mode export-only --repo <path> \
specfact sync bridge --adapter github --mode export-only --repo <openspec-path> \
--change-ids <id1,id2> --no-sanitize \
[--code-repo <source-code-path>] \
[--track-code-changes] [--add-progress-comment] \
[other options]
```

Expand All @@ -310,8 +335,10 @@ specfact sync bridge --adapter github --mode export-only --repo <path> \

```bash
# For each approved sanitized proposal, import from temp file and create issue
specfact sync bridge --adapter github --mode export-only --repo <path> \
specfact sync bridge --adapter github --mode export-only --repo <openspec-path> \
--change-ids <change-id> --import-from-tmp --tmp-file /tmp/specfact-proposal-<change-id>-sanitized.md \
[--code-repo <source-code-path>] \
[--track-code-changes] [--add-progress-comment] \
[other options]
```

Expand All @@ -337,6 +364,11 @@ specfact sync bridge --adapter github --mode export-only --repo <path> \
- Display sync results (issues created/updated)
- Show issue URLs and numbers
- Indicate which proposals were sanitized vs exported directly
- **Show code change tracking results** (if `--track-code-changes` was enabled):
- Number of commits detected per proposal
- Number of progress comments added per issue
- Repository used for code change detection (`--code-repo` or `--repo`)
- Example: `✓ Detected 3 commits for 'add-feature-x', added 1 progress comment to issue #123`
- **Show filtering warnings** (if proposals were filtered out):
- Public repos: `⚠ Filtered out N proposal(s) with non-applied status (public repos only sync archived/completed proposals)`
- Internal repos: `⚠ Filtered out N proposal(s) without source tracking entry and inactive status`
Expand All @@ -353,6 +385,7 @@ specfact sync bridge --adapter github --mode export-only --repo <path> \

Adapter: github
Repository: nold-ai/specfact-cli-internal
Code Repository: nold-ai/specfact-cli (separate repo)

Issues Created:
- #14: Add DevOps Backlog Tracking Integration
Expand All @@ -363,6 +396,31 @@ Sanitization: Applied (different repos detected)
Issue IDs saved to OpenSpec proposal files
```

### Success (With Code Change Tracking)

```text
✓ Successfully synced 3 change proposals

Adapter: github
Repository: nold-ai/specfact-cli-internal
Code Repository: nold-ai/specfact-cli (separate repo)

Issues Created:
- #14: Add DevOps Backlog Tracking Integration
- #15: Add Change Tracking Data Model
- #16: Implement OpenSpec Bridge Adapter

Code Change Tracking:
- Detected 5 commits for 'add-devops-backlog-tracking'
- Added 1 progress comment to issue #14
- Detected 3 commits for 'add-change-tracking-datamodel'
- Added 1 progress comment to issue #15
- No new commits detected for 'implement-openspec-bridge-adapter'

Sanitization: Applied (different repos detected)
Issue IDs saved to OpenSpec proposal files
```

### Error (Missing Token)

```text
Expand Down
70 changes: 64 additions & 6 deletions .github/prompts/specfact.sync-backlog.prompt.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,8 @@ Sync OpenSpec change proposals to DevOps backlog tools (GitHub Issues, ADO, Line

### Target/Input

- `--repo PATH` - Path to repository. Default: current directory (.)
- `--repo PATH` - Path to OpenSpec repository containing change proposals. Default: current directory (.)
- `--code-repo PATH` - Path to source code repository for code change detection (default: same as `--repo`). **Required when OpenSpec repository differs from source code repository.** For example, if OpenSpec proposals are in `specfact-cli-internal` but source code is in `specfact-cli`, use `--repo /path/to/specfact-cli-internal --code-repo /path/to/specfact-cli`.
- `--target-repo OWNER/REPO` - Target repository for issue creation (format: owner/repo). Default: same as code repository

### Behavior/Options
Expand Down Expand Up @@ -49,6 +50,18 @@ Sync OpenSpec change proposals to DevOps backlog tools (GitHub Issues, ADO, Line
- `--tmp-file PATH` - Specify temporary file path (used with --export-to-tmp or --import-from-tmp)
- Default: `/tmp/specfact-proposal-<change-id>.md` or `/tmp/specfact-proposal-<change-id>-sanitized.md`

### Code Change Tracking (Advanced)

- `--track-code-changes/--no-track-code-changes` - Detect code changes (git commits, file modifications) and add progress comments to existing issues (default: False)
- **Repository Selection**: Uses `--code-repo` if provided, otherwise uses `--repo` for code change detection
- **Git Commit Detection**: Searches git log for commits mentioning the change proposal ID (e.g., `add-code-change-tracking`)
- **File Change Tracking**: Extracts files modified in detected commits
- **Progress Comment Generation**: Formats comment with commit details and file changes
- **Duplicate Prevention**: Checks against existing comments to avoid duplicates
- **Source Tracking Update**: Updates `proposal.md` with progress metadata
- `--add-progress-comment/--no-add-progress-comment` - Add manual progress comment to existing issues without code change detection (default: False)
- `--update-existing/--no-update-existing` - Update existing issue bodies when proposal content changes (default: False for safety). Uses content hash to detect changes.

### Advanced/Configuration

- `--adapter TYPE` - DevOps adapter type (github, ado, linear, jira). Default: github
Expand Down Expand Up @@ -101,8 +114,10 @@ Sync OpenSpec change proposals to DevOps backlog tools (GitHub Issues, ADO, Line
**For non-sanitized proposals** (direct export):

```bash
specfact sync bridge --adapter github --mode export-only --repo <path> \
specfact sync bridge --adapter github --mode export-only --repo <openspec-path> \
--no-sanitize --change-ids <id1,id2> \
[--code-repo <source-code-path>] \
[--track-code-changes] [--add-progress-comment] \
[--target-repo <owner/repo>] [--repo-owner <owner>] [--repo-name <name>] \
[--github-token <token>] [--use-gh-cli]
```
Expand All @@ -111,13 +126,16 @@ specfact sync bridge --adapter github --mode export-only --repo <path> \

```bash
# Step 3a: Export to temporary file for LLM review
specfact sync bridge --adapter github --mode export-only --repo <path> \
specfact sync bridge --adapter github --mode export-only --repo <openspec-path> \
--sanitize --change-ids <id1,id2> \
[--code-repo <source-code-path>] \
--export-to-tmp --tmp-file /tmp/specfact-proposal-<change-id>.md \
[--target-repo <owner/repo>] [--repo-owner <owner>] [--repo-name <name>] \
[--github-token <token>] [--use-gh-cli]
```

**Note**: When `--code-repo` is provided, code change detection uses that repository. Otherwise, code changes are detected in the OpenSpec repository (`--repo`).

### Step 4: LLM Sanitization Review (Slash Command Only, For Sanitized Proposals)

**Only execute if sanitization is required**:
Expand Down Expand Up @@ -173,6 +191,10 @@ specfact sync bridge --adapter github --mode export-only --repo <path> \
- Show issue URLs and numbers
- Indicate sanitization status (if applied)
- List which proposals were sanitized vs exported directly
- **Show code change tracking results** (if `--track-code-changes` was enabled):
- Number of commits detected
- Number of progress comments added
- Repository used for code change detection (`--code-repo` or `--repo`)
- **Show filtering warnings** (if proposals were filtered out due to status)
- Example: `⚠ Filtered out 2 proposal(s) with non-applied status (public repos only sync archived/completed proposals)`
- Present any warnings or errors
Expand Down Expand Up @@ -223,8 +245,9 @@ When in copilot mode, follow this workflow:

```bash
# For each sanitized proposal, export to temp file
specfact sync bridge --adapter github --mode export-only --repo <path> \
specfact sync bridge --adapter github --mode export-only --repo <openspec-path> \
--change-ids <change-id> --export-to-tmp --tmp-file /tmp/specfact-proposal-<change-id>.md \
[--code-repo <source-code-path>] \
[other options]
```

Expand Down Expand Up @@ -293,8 +316,10 @@ specfact sync bridge --adapter github --mode export-only --repo <path> \

```bash
# Export non-sanitized proposals directly
specfact sync bridge --adapter github --mode export-only --repo <path> \
specfact sync bridge --adapter github --mode export-only --repo <openspec-path> \
--change-ids <id1,id2> --no-sanitize \
[--code-repo <source-code-path>] \
[--track-code-changes] [--add-progress-comment] \
[other options]
```

Expand All @@ -310,8 +335,10 @@ specfact sync bridge --adapter github --mode export-only --repo <path> \

```bash
# For each approved sanitized proposal, import from temp file and create issue
specfact sync bridge --adapter github --mode export-only --repo <path> \
specfact sync bridge --adapter github --mode export-only --repo <openspec-path> \
--change-ids <change-id> --import-from-tmp --tmp-file /tmp/specfact-proposal-<change-id>-sanitized.md \
[--code-repo <source-code-path>] \
[--track-code-changes] [--add-progress-comment] \
[other options]
```

Expand All @@ -337,6 +364,11 @@ specfact sync bridge --adapter github --mode export-only --repo <path> \
- Display sync results (issues created/updated)
- Show issue URLs and numbers
- Indicate which proposals were sanitized vs exported directly
- **Show code change tracking results** (if `--track-code-changes` was enabled):
- Number of commits detected per proposal
- Number of progress comments added per issue
- Repository used for code change detection (`--code-repo` or `--repo`)
- Example: `✓ Detected 3 commits for 'add-feature-x', added 1 progress comment to issue #123`
- **Show filtering warnings** (if proposals were filtered out):
- Public repos: `⚠ Filtered out N proposal(s) with non-applied status (public repos only sync archived/completed proposals)`
- Internal repos: `⚠ Filtered out N proposal(s) without source tracking entry and inactive status`
Expand All @@ -353,6 +385,7 @@ specfact sync bridge --adapter github --mode export-only --repo <path> \

Adapter: github
Repository: nold-ai/specfact-cli-internal
Code Repository: nold-ai/specfact-cli (separate repo)

Issues Created:
- #14: Add DevOps Backlog Tracking Integration
Expand All @@ -363,6 +396,31 @@ Sanitization: Applied (different repos detected)
Issue IDs saved to OpenSpec proposal files
```

### Success (With Code Change Tracking)

```text
✓ Successfully synced 3 change proposals

Adapter: github
Repository: nold-ai/specfact-cli-internal
Code Repository: nold-ai/specfact-cli (separate repo)

Issues Created:
- #14: Add DevOps Backlog Tracking Integration
- #15: Add Change Tracking Data Model
- #16: Implement OpenSpec Bridge Adapter

Code Change Tracking:
- Detected 5 commits for 'add-devops-backlog-tracking'
- Added 1 progress comment to issue #14
- Detected 3 commits for 'add-change-tracking-datamodel'
- Added 1 progress comment to issue #15
- No new commits detected for 'implement-openspec-bridge-adapter'

Sanitization: Applied (different repos detected)
Issue IDs saved to OpenSpec proposal files
```

### Error (Missing Token)

```text
Expand Down
Loading
Loading