Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
8 changes: 4 additions & 4 deletions .specify/scripts/bash/common.sh
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ get_current_branch() {

# For non-git repos, try to find the latest feature directory
local repo_root=$(get_repo_root)
local specs_dir="$repo_root/specs"
local specs_dir="$repo_root/dev/specs"

if [[ -d "$specs_dir" ]]; then
local latest_feature=""
Expand Down Expand Up @@ -81,14 +81,14 @@ check_feature_branch() {
return 0
}

get_feature_dir() { echo "$1/specs/$2"; }
get_feature_dir() { echo "$1/dev/specs/$2"; }

# Find feature directory by numeric prefix instead of exact branch match
# This allows multiple branches to work on the same spec (e.g., 004-fix-bug, 004-add-feature)
find_feature_dir_by_prefix() {
local repo_root="$1"
local branch_name="$2"
local specs_dir="$repo_root/specs"
local specs_dir="$repo_root/dev/specs"

# Extract numeric prefix from branch (e.g., "004" from "004-whatever")
if [[ ! "$branch_name" =~ ^([0-9]{3})- ]]; then
Expand All @@ -99,7 +99,7 @@ find_feature_dir_by_prefix() {

local prefix="${BASH_REMATCH[1]}"

# Search for directories in specs/ that start with this prefix
# Search for directories in dev/specs/ that start with this prefix
local matches=()
if [[ -d "$specs_dir" ]]; then
for dir in "$specs_dir"/"$prefix"-*; do
Expand Down
4 changes: 2 additions & 2 deletions .specify/templates/plan-template.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Implementation Plan: [FEATURE]

**Branch**: `[###-feature-name]` | **Date**: [DATE] | **Spec**: [link]
**Input**: Feature specification from `/specs/[###-feature-name]/spec.md`
**Input**: Feature specification from `/dev/specs/[###-feature-name]/spec.md`

**Note**: This template is filled in by the `/speckit.plan` command. See `.specify/templates/commands/plan.md` for the execution workflow.

Expand Down Expand Up @@ -38,7 +38,7 @@
### Documentation (this feature)

```text
specs/[###-feature]/
dev/specs/[###-feature]/
├── plan.md # This file (/speckit.plan command output)
├── research.md # Phase 0 output (/speckit.plan command)
├── data-model.md # Phase 1 output (/speckit.plan command)
Expand Down
2 changes: 1 addition & 1 deletion .specify/templates/tasks-template.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ description: "Task list template for feature implementation"

# Tasks: [FEATURE NAME]

**Input**: Design documents from `/specs/[###-feature-name]/`
**Input**: Design documents from `/dev/specs/[###-feature-name]/`
**Prerequisites**: plan.md (required), spec.md (required for user stories), research.md, data-model.md, contracts/

**Tests**: The examples below include test tasks. Tests are OPTIONAL - only include them if explicitly requested in the feature specification.
Expand Down
2 changes: 1 addition & 1 deletion dev/commands/speckit.specify.md
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ Given that feature description, do this:
b. Find the highest feature number across all sources for the short-name:
- Remote branches: `git ls-remote --heads origin | grep -E 'refs/heads/[0-9]+-<short-name>$'`
- Local branches: `git branch | grep -E '^[* ]*[0-9]+-<short-name>$'`
- Specs directories: Check for directories matching `specs/[0-9]+-<short-name>`
- Specs directories: Check for directories matching `dev/specs/[0-9]+-<short-name>`

c. Determine the next available number:
- Extract all numbers from all three sources
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Implementation Plan: End-User CLI (`infrahubctl` CRUD commands)

**Branch**: `001-end-user-cli` | **Date**: 2026-03-28 | **Updated**: 2026-04-02 | **Spec**: [spec.md](spec.md)
**Input**: Feature specification from `specs/001-end-user-cli/spec.md`
**Input**: Feature specification from `dev/specs/001-end-user-cli/spec.md`

## Summary

Expand Down Expand Up @@ -42,7 +42,7 @@ No violations. No complexity tracking needed.
### Documentation (this feature)

```text
specs/001-end-user-cli/
dev/specs/001-end-user-cli/
├── plan.md # This file
├── spec.md # Feature specification
├── research.md # Phase 0 research findings
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Tasks: End-User CLI (`infrahubctl` command)

**Input**: Design documents from `/specs/001-end-user-cli/`
**Input**: Design documents from `/dev/specs/001-end-user-cli/`
**Prerequisites**: plan.md (required), spec.md (required for user stories), research.md, data-model.md, contracts/

**Tests**: Tests are REQUIRED per FR-015. Unit tests for all public functions, integration tests for Infrahub server interactions.
Expand Down