aidevops 2.144.0 → 2.145.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/VERSION +1 -1
- package/aidevops.sh +84 -13
- package/package.json +1 -1
- package/setup.sh +1 -1
- package/templates/opencode-config-agents.md +1 -1
package/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
2.
|
|
1
|
+
2.145.0
|
package/aidevops.sh
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
# AI DevOps Framework CLI
|
|
4
4
|
# Usage: aidevops <command> [options]
|
|
5
5
|
#
|
|
6
|
-
# Version: 2.
|
|
6
|
+
# Version: 2.145.0
|
|
7
7
|
|
|
8
8
|
set -euo pipefail
|
|
9
9
|
|
|
@@ -1296,8 +1296,23 @@ EOF
|
|
|
1296
1296
|
print_success "Created .aidevops.json"
|
|
1297
1297
|
|
|
1298
1298
|
# Derive repo name for scaffolding
|
|
1299
|
+
# In worktrees, basename gives the worktree dir name (e.g., "repo-chore-foo"),
|
|
1300
|
+
# not the actual repo name. Prefer: git remote URL > main worktree basename > cwd basename.
|
|
1299
1301
|
local repo_name
|
|
1300
|
-
|
|
1302
|
+
local remote_url
|
|
1303
|
+
remote_url=$(git -C "$project_root" remote get-url origin 2>/dev/null || true)
|
|
1304
|
+
if [[ -n "$remote_url" ]]; then
|
|
1305
|
+
repo_name=$(basename "$remote_url" .git)
|
|
1306
|
+
else
|
|
1307
|
+
# No remote — try main worktree path (first line of `git worktree list`)
|
|
1308
|
+
local main_wt
|
|
1309
|
+
main_wt=$(git -C "$project_root" worktree list --porcelain 2>/dev/null | head -1 | sed 's/^worktree //')
|
|
1310
|
+
if [[ -n "$main_wt" ]]; then
|
|
1311
|
+
repo_name=$(basename "$main_wt")
|
|
1312
|
+
else
|
|
1313
|
+
repo_name=$(basename "$project_root")
|
|
1314
|
+
fi
|
|
1315
|
+
fi
|
|
1301
1316
|
|
|
1302
1317
|
# Create .agents/ directory for project-specific agent context
|
|
1303
1318
|
# (The aidevops framework is loaded globally via ~/.aidevops/agents/ — this
|
|
@@ -1657,8 +1672,15 @@ SOPSEOF
|
|
|
1657
1672
|
gitignore_updated=true
|
|
1658
1673
|
fi
|
|
1659
1674
|
|
|
1660
|
-
# Add .aidevops.json to gitignore (local config, not committed)
|
|
1675
|
+
# Add .aidevops.json to gitignore (local config, not committed).
|
|
1676
|
+
# If .aidevops.json is already tracked by git (committed by older framework
|
|
1677
|
+
# versions), untrack it first — adding a tracked file to .gitignore is a
|
|
1678
|
+
# no-op and the file keeps showing in git diff on every re-init (#2570 bug 3).
|
|
1661
1679
|
if ! grep -q "^\.aidevops\.json$" "$gitignore" 2>/dev/null; then
|
|
1680
|
+
if git -C "$project_root" ls-files --error-unmatch .aidevops.json &>/dev/null; then
|
|
1681
|
+
git -C "$project_root" rm --cached .aidevops.json &>/dev/null || true
|
|
1682
|
+
print_info "Untracked .aidevops.json from git (was committed by older version)"
|
|
1683
|
+
fi
|
|
1662
1684
|
echo ".aidevops.json" >>"$gitignore"
|
|
1663
1685
|
gitignore_updated=true
|
|
1664
1686
|
fi
|
|
@@ -1725,6 +1747,43 @@ SOPSEOF
|
|
|
1725
1747
|
# Register repo in repos.json
|
|
1726
1748
|
register_repo "$project_root" "$aidevops_version" "$features_list"
|
|
1727
1749
|
|
|
1750
|
+
# Auto-commit initialized files so they don't linger as mystery unstaged
|
|
1751
|
+
# changes (#2570 bug 2). Collect all files that cmd_init creates/modifies.
|
|
1752
|
+
local init_files=()
|
|
1753
|
+
[[ -f "$project_root/.gitignore" ]] && init_files+=(".gitignore")
|
|
1754
|
+
[[ -d "$project_root/.agents" ]] && init_files+=(".agents/")
|
|
1755
|
+
[[ -f "$project_root/AGENTS.md" ]] && init_files+=("AGENTS.md")
|
|
1756
|
+
[[ -f "$project_root/TODO.md" ]] && init_files+=("TODO.md")
|
|
1757
|
+
[[ -d "$project_root/todo" ]] && init_files+=("todo/")
|
|
1758
|
+
[[ -f "$project_root/MODELS.md" ]] && init_files+=("MODELS.md")
|
|
1759
|
+
[[ -f "$project_root/LICENCE" ]] && init_files+=("LICENCE")
|
|
1760
|
+
[[ -f "$project_root/CHANGELOG.md" ]] && init_files+=("CHANGELOG.md")
|
|
1761
|
+
[[ -f "$project_root/README.md" ]] && init_files+=("README.md")
|
|
1762
|
+
[[ -f "$project_root/.cursorrules" ]] && init_files+=(".cursorrules")
|
|
1763
|
+
[[ -f "$project_root/.windsurfrules" ]] && init_files+=(".windsurfrules")
|
|
1764
|
+
[[ -f "$project_root/.clinerules" ]] && init_files+=(".clinerules")
|
|
1765
|
+
[[ -d "$project_root/.github" ]] && init_files+=(".github/")
|
|
1766
|
+
[[ -f "$project_root/.sops.yaml" ]] && init_files+=(".sops.yaml")
|
|
1767
|
+
[[ -d "$project_root/schemas" ]] && init_files+=("schemas/")
|
|
1768
|
+
[[ -d "$project_root/migrations" ]] && init_files+=("migrations/")
|
|
1769
|
+
[[ -d "$project_root/seeds" ]] && init_files+=("seeds/")
|
|
1770
|
+
|
|
1771
|
+
local committed=false
|
|
1772
|
+
if [[ ${#init_files[@]} -gt 0 ]]; then
|
|
1773
|
+
# Stage all init files (--force not needed; .aidevops.json is gitignored above)
|
|
1774
|
+
if git -C "$project_root" add -- "${init_files[@]}" 2>/dev/null; then
|
|
1775
|
+
# Only commit if there are staged changes
|
|
1776
|
+
if ! git -C "$project_root" diff --cached --quiet 2>/dev/null; then
|
|
1777
|
+
if git -C "$project_root" commit -m "chore: initialize aidevops v${aidevops_version}" 2>/dev/null; then
|
|
1778
|
+
committed=true
|
|
1779
|
+
print_success "Committed initialized files"
|
|
1780
|
+
else
|
|
1781
|
+
print_warning "Auto-commit failed (pre-commit hook rejected?)"
|
|
1782
|
+
fi
|
|
1783
|
+
fi
|
|
1784
|
+
fi
|
|
1785
|
+
fi
|
|
1786
|
+
|
|
1728
1787
|
echo ""
|
|
1729
1788
|
print_success "AI DevOps initialized!"
|
|
1730
1789
|
echo ""
|
|
@@ -1739,19 +1798,31 @@ SOPSEOF
|
|
|
1739
1798
|
[[ -f "$project_root/MODELS.md" ]] && echo " ✓ MODELS.md (per-repo model performance leaderboard)"
|
|
1740
1799
|
echo ""
|
|
1741
1800
|
echo "Next steps:"
|
|
1801
|
+
local step=1
|
|
1802
|
+
if [[ "$committed" != "true" ]]; then
|
|
1803
|
+
echo " ${step}. Commit the initialized files: git add -A && git commit -m 'chore: initialize aidevops'"
|
|
1804
|
+
((step++))
|
|
1805
|
+
fi
|
|
1742
1806
|
if [[ "$enable_beads" == "true" ]]; then
|
|
1743
|
-
echo "
|
|
1744
|
-
|
|
1745
|
-
echo "
|
|
1746
|
-
|
|
1807
|
+
echo " ${step}. Add tasks to TODO.md with dependencies (blocked-by:t001)"
|
|
1808
|
+
((step++))
|
|
1809
|
+
echo " ${step}. Run /ready to see unblocked tasks"
|
|
1810
|
+
((step++))
|
|
1811
|
+
echo " ${step}. Run /sync-beads to sync with Beads graph"
|
|
1812
|
+
((step++))
|
|
1813
|
+
echo " ${step}. Use 'bd' CLI for graph visualization"
|
|
1747
1814
|
elif [[ "$enable_database" == "true" ]]; then
|
|
1748
|
-
echo "
|
|
1749
|
-
|
|
1750
|
-
echo "
|
|
1815
|
+
echo " ${step}. Add schema files to schemas/"
|
|
1816
|
+
((step++))
|
|
1817
|
+
echo " ${step}. Run diff to generate migrations"
|
|
1818
|
+
((step++))
|
|
1819
|
+
echo " ${step}. See .agents/workflows/sql-migrations.md"
|
|
1751
1820
|
else
|
|
1752
|
-
echo "
|
|
1753
|
-
|
|
1754
|
-
echo "
|
|
1821
|
+
echo " ${step}. Add tasks to TODO.md"
|
|
1822
|
+
((step++))
|
|
1823
|
+
echo " ${step}. Use /create-prd for complex features"
|
|
1824
|
+
((step++))
|
|
1825
|
+
echo " ${step}. Use /feature to start development"
|
|
1755
1826
|
fi
|
|
1756
1827
|
|
|
1757
1828
|
return 0
|
package/package.json
CHANGED
package/setup.sh
CHANGED
|
@@ -10,7 +10,7 @@ shopt -s inherit_errexit 2>/dev/null || true
|
|
|
10
10
|
# AI Assistant Server Access Framework Setup Script
|
|
11
11
|
# Helps developers set up the framework for their infrastructure
|
|
12
12
|
#
|
|
13
|
-
# Version: 2.
|
|
13
|
+
# Version: 2.145.0
|
|
14
14
|
#
|
|
15
15
|
# Quick Install:
|
|
16
16
|
# npm install -g aidevops && aidevops update (recommended)
|
|
@@ -3,7 +3,7 @@ Add ~/.aidevops/agents/AGENTS.md to context for AI DevOps capabilities.
|
|
|
3
3
|
## aidevops Framework Status
|
|
4
4
|
|
|
5
5
|
**On conversation start**:
|
|
6
|
-
1. If you have Bash tool: Run `bash ~/.aidevops/agents/scripts/aidevops-update-check.sh`
|
|
6
|
+
1. If you have Bash tool: Run `bash ~/.aidevops/agents/scripts/aidevops-update-check.sh --interactive`
|
|
7
7
|
2. If no Bash tool: Read `~/.aidevops/cache/session-greeting.txt` (cached by agents with Bash)
|
|
8
8
|
3. Parse the first line of output (format: `aidevops v{version} running in {app} v{app_version} | {repo}`). Greet with: "Hi!\n\nWe're running https://aidevops.sh v{version} in {app} v{app_version}.\n\nWhat would you like to work on?"
|
|
9
9
|
4. Then respond to the user's actual message
|