refactor: reorganize, add package (opencode, osgrep, beads), add ai agent shell
This commit is contained in:
parent
7e0a207778
commit
a0f0f39399
58 changed files with 7867 additions and 42 deletions
98
shells/ai-agent.nix
Normal file
98
shells/ai-agent.nix
Normal file
|
|
@ -0,0 +1,98 @@
|
|||
{ pkgs, lib, customPkgs, ... }:
|
||||
|
||||
let
|
||||
# Get Beads package from custom packages
|
||||
beadsPkg = customPkgs.beads;
|
||||
|
||||
# Helper script to show Beads project status
|
||||
beadsStatus = pkgs.writeShellScriptBin "beads-status" ''
|
||||
if [ ! -d ".beads" ]; then
|
||||
echo "Not a Beads project (no .beads directory found)"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "=== Beads Project Status ==="
|
||||
echo ""
|
||||
echo "Ready tasks:"
|
||||
${beadsPkg}/bin/bd ready --json | ${pkgs.jq}/bin/jq -r '.[] | " - [\(.id)] \(.title) (\(.type))"'
|
||||
echo ""
|
||||
echo "In Progress:"
|
||||
${beadsPkg}/bin/bd list --status in-progress --json | ${pkgs.jq}/bin/jq -r '.[] | " - [\(.id)] \(.title)"'
|
||||
echo ""
|
||||
echo "For full details, run: bd list --json | jq"
|
||||
'';
|
||||
|
||||
# Helper script to generate full project context for AI agents
|
||||
beadsContext = pkgs.writeShellScriptBin "beads-context" ''
|
||||
if [ ! -d ".beads" ]; then
|
||||
echo "Not a Beads project (no .beads directory found)"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "=== Beads Project Context ==="
|
||||
echo ""
|
||||
echo "All issues:"
|
||||
${beadsPkg}/bin/bd list --json | ${pkgs.jq}/bin/jq '.'
|
||||
echo ""
|
||||
echo "Dependency tree (first ready task):"
|
||||
ready_id=$(${beadsPkg}/bin/bd ready --json | ${pkgs.jq}/bin/jq -r '.[0].id // empty')
|
||||
if [ -n "$ready_id" ]; then
|
||||
${beadsPkg}/bin/bd dep tree "$ready_id"
|
||||
else
|
||||
echo "No ready tasks"
|
||||
fi
|
||||
'';
|
||||
|
||||
in pkgs.mkShell {
|
||||
name = "ai-agent";
|
||||
|
||||
packages = with pkgs; [
|
||||
# Custom packages
|
||||
customPkgs.beads
|
||||
customPkgs.osgrep
|
||||
|
||||
# Version control
|
||||
git
|
||||
jujutsu
|
||||
|
||||
# Code search and navigation
|
||||
ripgrep
|
||||
ast-grep
|
||||
fzf
|
||||
|
||||
# JSON processing
|
||||
jq
|
||||
|
||||
# Helper scripts
|
||||
beadsStatus
|
||||
beadsContext
|
||||
];
|
||||
|
||||
shellHook = ''
|
||||
# Add home-manager binaries to PATH (claude-code, codex, etc.)
|
||||
if [ -d "$HOME/.nix-profile/bin" ]; then
|
||||
export PATH="$HOME/.nix-profile/bin:$PATH"
|
||||
fi
|
||||
|
||||
echo "AI Agent development shell loaded"
|
||||
echo ""
|
||||
echo "Available tools:"
|
||||
echo " bd - Beads CLI (issue tracker)"
|
||||
echo " beads-status - Show project status summary"
|
||||
echo " beads-context - Generate full context for AI"
|
||||
echo " osgrep - Semantic code search"
|
||||
echo " jj/git - Version control"
|
||||
echo " rg/ast-grep - Code search"
|
||||
echo ""
|
||||
echo "Quick start:"
|
||||
echo " bd init - Initialize Beads in current project"
|
||||
echo " bd create - Create new issue"
|
||||
echo " bd ready - Show ready tasks"
|
||||
echo " bd --help - Full command reference"
|
||||
echo ""
|
||||
echo "Nushell helpers (if in nushell):"
|
||||
echo " bd-init - Safe init with git checks"
|
||||
echo " bd-ready - View ready tasks (structured)"
|
||||
echo " bd-sync - Sync database with git"
|
||||
'';
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue