v0.3.0 d226234

check-task-prerequisites.sh RawHistoryFolder

1#!/usr/bin/env bash
2# Check that implementation plan exists and find optional design documents
3# Usage: ./check-task-prerequisites.sh [--json]
4
5set -e
6
7JSON_MODE=false
8for arg in "$@"; do
9    case "$arg" in
10        --json) JSON_MODE=true ;;
11        --help|-h) echo "Usage: $0 [--json]"; exit 0 ;;
12    esac
13done
14
15# Source common functions
16SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
17source "$SCRIPT_DIR/common.sh"
18
19# Get all paths
20eval $(get_feature_paths)
21
22# Check if on feature branch
23check_feature_branch "$CURRENT_BRANCH" || exit 1
24
25# Check if feature directory exists
26if [[ ! -d "$FEATURE_DIR" ]]; then
27    echo "ERROR: Feature directory not found: $FEATURE_DIR"
28    echo "Run /specify first to create the feature structure."
29    exit 1
30fi
31
32# Check for implementation plan (required)
33if [[ ! -f "$IMPL_PLAN" ]]; then
34    echo "ERROR: plan.md not found in $FEATURE_DIR"
35    echo "Run /plan first to create the plan."
36    exit 1
37fi
38
39if $JSON_MODE; then
40    # Build JSON array of available docs that actually exist
41    docs=()
42    [[ -f "$RESEARCH" ]] && docs+=("research.md")
43    [[ -f "$DATA_MODEL" ]] && docs+=("data-model.md")
44    ([[ -d "$CONTRACTS_DIR" ]] && [[ -n "$(ls -A "$CONTRACTS_DIR" 2>/dev/null)" ]]) && docs+=("contracts/")
45    [[ -f "$QUICKSTART" ]] && docs+=("quickstart.md")
46    # join array into JSON
47    json_docs=$(printf '"%s",' "${docs[@]}")
48    json_docs="[${json_docs%,}]"
49    printf '{"FEATURE_DIR":"%s","AVAILABLE_DOCS":%s}\n' "$FEATURE_DIR" "$json_docs"
50else
51    # List available design documents (optional)
52    echo "FEATURE_DIR:$FEATURE_DIR"
53    echo "AVAILABLE_DOCS:"
54
55    # Use common check functions
56    check_file "$RESEARCH" "research.md"
57    check_file "$DATA_MODEL" "data-model.md"
58    check_dir "$CONTRACTS_DIR" "contracts/"
59    check_file "$QUICKSTART" "quickstart.md"
60fi
61
62# Always succeed - task generation should work with whatever docs are available

Keyboard shortcuts

Single-key shortcuts are on. ctrl k and esc work whatever this says.

ctrl k :
go to a section, branch, tag, file or repository
?
this list
j k
move the row cursor down / up
enter
open the row under the cursor; on Files, a directory opens or closes in place
↑ ↓ ← → home end
in the file tree (focus on a row): previous / next row, close / open a directory or go to its parent / first entry, first / last row. They never open a file
l h
on Files: open a directory or a file / close a directory or go up to its parent, then to the parent page. Elsewhere: into the side panel (on a merge request, its files) / back to the content; there j k move between its controls
g g G
first / last row
/
filter the list; on Files, find a file anywhere in the repository (esc clears, enter opens the best match)
b
switch branch or tag
g s g f g c g b g m g i g r g a
tabs: summary, files, commits, branches & tags, merge requests, issues, releases, actions (when available)
g h
home
w
wide mode: use the whole width of the screen, or not (remembered)
y
copy a permalink pinned to the commit
d u x
diff: split / unified / collapse or expand all
e E
diff: the whole file in view / every file, with the lines the hunks hide
n
merge request: next note in the diff
esc
close a dialog, leave a field

Branches 8

Tags 42

↑↓ moveenter openesc close