@zachjxyz/moxie 0.3.1 → 0.3.3

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/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # moxie
2
2
 
3
- Spec-driven multi-agent development with quorum convergence.
3
+ **M**ixture **o**f E**x**perts **i**n **E**ngineering — spec-driven multi-agent development with quorum convergence.
4
4
 
5
5
  moxie runs multiple AI coding agents through a structured pipeline — RFC, audit, fix, plan, build — where every phase requires unanimous agreement before moving on. Agents independently verify each other's work, catching errors that single-agent workflows miss.
6
6
 
package/bin/moxie CHANGED
@@ -16,7 +16,7 @@
16
16
 
17
17
  set -euo pipefail
18
18
 
19
- MOXIE_VERSION="0.3.1"
19
+ MOXIE_VERSION="0.3.3"
20
20
  # Resolve symlinks (npm installs bin as a symlink)
21
21
  _self="$0"
22
22
  while [ -L "$_self" ]; do
package/lib/phases.sh CHANGED
@@ -441,17 +441,19 @@ AGENTHEAD
441
441
  local order=1
442
442
 
443
443
  # CLI agents
444
- for idx in "${SELECTED_AGENT_INDICES[@]}"; do
445
- local name="${KNOWN_AGENT_NAMES[$idx]}"
446
- local cmd="${KNOWN_AGENT_CMDS[$idx]}"
447
- cat >> "$config_file" <<AGENT
444
+ if [ ${#SELECTED_AGENT_INDICES[@]} -gt 0 ]; then
445
+ for idx in "${SELECTED_AGENT_INDICES[@]}"; do
446
+ local name="${KNOWN_AGENT_NAMES[$idx]}"
447
+ local cmd="${KNOWN_AGENT_CMDS[$idx]}"
448
+ cat >> "$config_file" <<AGENT
448
449
  [agents.${name}]
449
450
  command = '${cmd}'
450
451
  order = ${order}
451
452
 
452
453
  AGENT
453
- order=$((order + 1))
454
- done
454
+ order=$((order + 1))
455
+ done
456
+ fi
455
457
 
456
458
  # Gateway agents
457
459
  for idx in "${SELECTED_GATEWAY_INDICES[@]}"; do
@@ -568,7 +570,9 @@ cmd_init() {
568
570
  SELECTED_GATEWAY_INDICES=()
569
571
  fi
570
572
 
571
- local total_selected=$(( ${#SELECTED_AGENT_INDICES[@]} + ${#SELECTED_GATEWAY_INDICES[@]} ))
573
+ local _cli_count=${#SELECTED_AGENT_INDICES[@]}
574
+ local _gw_count=${#SELECTED_GATEWAY_INDICES[@]}
575
+ local total_selected=$(( _cli_count + _gw_count ))
572
576
  if [ "$total_selected" -lt 2 ]; then
573
577
  echo "ERROR: At least 2 agents must be selected." >&2
574
578
  echo "moxie requires at least 2 agents for cross-model verification." >&2
@@ -591,9 +595,11 @@ cmd_init() {
591
595
 
592
596
  # List selected agents
593
597
  echo " Agents:"
594
- for idx in "${SELECTED_AGENT_INDICES[@]}"; do
595
- echo " - ${KNOWN_AGENT_LABELS[$idx]} (CLI)"
596
- done
598
+ if [ ${#SELECTED_AGENT_INDICES[@]} -gt 0 ]; then
599
+ for idx in "${SELECTED_AGENT_INDICES[@]}"; do
600
+ echo " - ${KNOWN_AGENT_LABELS[$idx]} (CLI)"
601
+ done
602
+ fi
597
603
  for idx in "${SELECTED_GATEWAY_INDICES[@]}"; do
598
604
  echo " - ${KNOWN_GATEWAY_LABELS[$idx]} (${KNOWN_GATEWAY_MODELS[$idx]}, AI Gateway)"
599
605
  done
@@ -851,8 +857,8 @@ cmd_run() {
851
857
  set -euo pipefail; cd '$(pwd)'
852
858
  export DRY_RUN=0 MOXIE_ROOT='$MOXIE_ROOT' MOXIE_LIB='$MOXIE_LIB'
853
859
  source '$MOXIE_LIB/platform.sh'; source '$MOXIE_LIB/core.sh'
854
- source '$MOXIE_LIB/agents.sh'; source '$MOXIE_LIB/phases.sh'
855
- source '$MOXIE_LIB/tokens.sh'
860
+ source '$MOXIE_LIB/gateway-keys.sh'; source '$MOXIE_LIB/agents.sh'
861
+ source '$MOXIE_LIB/phases.sh'; source '$MOXIE_LIB/tokens.sh'
856
862
  load_agents; _run_pipeline ${run_phases[*]}
857
863
  "
858
864
  elif [ "$MOXIE_PLATFORM" = "linux" ] && command -v systemd-inhibit &>/dev/null; then
@@ -860,8 +866,8 @@ cmd_run() {
860
866
  set -euo pipefail; cd '$(pwd)'
861
867
  export DRY_RUN=0 MOXIE_ROOT='$MOXIE_ROOT' MOXIE_LIB='$MOXIE_LIB'
862
868
  source '$MOXIE_LIB/platform.sh'; source '$MOXIE_LIB/core.sh'
863
- source '$MOXIE_LIB/agents.sh'; source '$MOXIE_LIB/phases.sh'
864
- source '$MOXIE_LIB/tokens.sh'
869
+ source '$MOXIE_LIB/gateway-keys.sh'; source '$MOXIE_LIB/agents.sh'
870
+ source '$MOXIE_LIB/phases.sh'; source '$MOXIE_LIB/tokens.sh'
865
871
  load_agents; _run_pipeline ${run_phases[*]}
866
872
  "
867
873
  else
@@ -869,8 +875,8 @@ cmd_run() {
869
875
  set -euo pipefail; cd '$(pwd)'
870
876
  export DRY_RUN=0 MOXIE_ROOT='$MOXIE_ROOT' MOXIE_LIB='$MOXIE_LIB'
871
877
  source '$MOXIE_LIB/platform.sh'; source '$MOXIE_LIB/core.sh'
872
- source '$MOXIE_LIB/agents.sh'; source '$MOXIE_LIB/phases.sh'
873
- source '$MOXIE_LIB/tokens.sh'
878
+ source '$MOXIE_LIB/gateway-keys.sh'; source '$MOXIE_LIB/agents.sh'
879
+ source '$MOXIE_LIB/phases.sh'; source '$MOXIE_LIB/tokens.sh'
874
880
  load_agents; _run_pipeline ${run_phases[*]}
875
881
  "
876
882
  fi
@@ -923,8 +929,8 @@ cmd_start() {
923
929
  set -euo pipefail; cd '$(pwd)'
924
930
  export DRY_RUN=0 MOXIE_ROOT='$MOXIE_ROOT' MOXIE_LIB='$MOXIE_LIB'
925
931
  source '$MOXIE_LIB/platform.sh'; source '$MOXIE_LIB/core.sh'
926
- source '$MOXIE_LIB/agents.sh'; source '$MOXIE_LIB/phases.sh'
927
- source '$MOXIE_LIB/tokens.sh'
932
+ source '$MOXIE_LIB/gateway-keys.sh'; source '$MOXIE_LIB/agents.sh'
933
+ source '$MOXIE_LIB/phases.sh'; source '$MOXIE_LIB/tokens.sh'
928
934
  load_agents
929
935
  if [ -n '$target_phase' ]; then
930
936
  phases=('$target_phase')
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zachjxyz/moxie",
3
- "version": "0.3.1",
3
+ "version": "0.3.3",
4
4
  "description": "Run multiple AI coding agents through spec-driven phases with quorum convergence. Supports CLI agents (Claude, Codex, Qwen, Aider, Goose, Amp, Cline, Roo) and Vercel AI Gateway models.",
5
5
  "bin": {
6
6
  "moxie": "bin/moxie"