claude-all-config 3.1.16 → 3.2.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 CHANGED
@@ -1 +1 @@
1
- 3.1.7
1
+ 3.2.0
package/claude-all CHANGED
@@ -2768,58 +2768,171 @@ EOF
2768
2768
  esac
2769
2769
  ;;
2770
2770
  5)
2771
- # Add Custom Model - Call add-model-manual.sh
2771
+ # Add Custom Model - Pick provider first
2772
2772
  echo ""
2773
- echo -e "${BLUE}═══ ADD CUSTOM MODEL ═══${NC}"
2773
+ echo -e "${BLUE}═══ ADD MODEL ═══${NC}"
2774
2774
  echo ""
2775
- echo "1) Use Template (Perplexity, Mistral, Azure, etc.)"
2776
- echo "2) Create Manual (Custom provider)"
2775
+ echo "Pilih provider untuk tambah model:"
2776
+ echo ""
2777
+ echo "1) 🇨🇳 ZhipuAI/GLM"
2778
+ echo "2) 🎵 MiniMax"
2779
+ echo "3) 🤖 Claude/Anthropic"
2780
+ echo "4) 🧠 Letta AI"
2777
2781
  echo "0) Back"
2778
2782
  echo ""
2779
- read -p "Pilih: " add_op
2780
- if [[ "$add_op" == "1" || "$add_op" == "2" ]]; then
2781
- if [[ -f "$SCRIPT_DIR/scripts/add-model-manual.sh" ]]; then
2782
- echo "$add_op" | bash "$SCRIPT_DIR/scripts/add-model-manual.sh"
2783
- else
2784
- echo -e "${RED}Script not found: scripts/add-model-manual.sh${NC}"
2785
- fi
2786
- fi
2783
+ read -p "Pilih provider: " prov_choice
2784
+ case $prov_choice in
2785
+ 1)
2786
+ # Add to GLM
2787
+ GLM_CFG="$SCRIPT_DIR/models/glm/config.json"
2788
+ echo ""
2789
+ echo -e "${CYAN}Add New GLM Model${NC}"
2790
+ read -p "Model ID (e.g., glm-5): " new_id
2791
+ read -p "Model Name (e.g., GLM-5): " new_name
2792
+ read -p "Description: " new_desc
2793
+ if [[ -n "$new_id" && -n "$new_name" ]] && command -v jq &>/dev/null; then
2794
+ jq ".models += [{\"id\":\"$new_id\",\"name\":\"$new_name\",\"description\":\"$new_desc\"}]" "$GLM_CFG" > "${GLM_CFG}.tmp" && mv "${GLM_CFG}.tmp" "$GLM_CFG"
2795
+ echo -e "${GREEN}✓ Model '$new_name' added to GLM!${NC}"
2796
+ fi
2797
+ ;;
2798
+ 2)
2799
+ # Add to MiniMax
2800
+ MM_CFG="$SCRIPT_DIR/models/minimax/config.json"
2801
+ echo ""
2802
+ echo -e "${CYAN}Add New MiniMax Model${NC}"
2803
+ read -p "Model ID (e.g., speech-3.0): " new_id
2804
+ read -p "Model Name: " new_name
2805
+ read -p "Description: " new_desc
2806
+ if [[ -n "$new_id" && -n "$new_name" ]] && command -v jq &>/dev/null; then
2807
+ jq ".models += [{\"id\":\"$new_id\",\"name\":\"$new_name\",\"description\":\"$new_desc\"}]" "$MM_CFG" > "${MM_CFG}.tmp" && mv "${MM_CFG}.tmp" "$MM_CFG"
2808
+ echo -e "${GREEN}✓ Model '$new_name' added to MiniMax!${NC}"
2809
+ fi
2810
+ ;;
2811
+ 3)
2812
+ # Add to Claude
2813
+ CLAUDE_CFG="$SCRIPT_DIR/models/anthropic/config.json"
2814
+ if [[ ! -f "$CLAUDE_CFG" ]]; then
2815
+ mkdir -p "$(dirname "$CLAUDE_CFG")"
2816
+ echo '{"name":"Anthropic","models":[]}' > "$CLAUDE_CFG"
2817
+ fi
2818
+ echo ""
2819
+ echo -e "${CYAN}Add New Claude Model${NC}"
2820
+ read -p "Model ID (e.g., claude-4-opus): " new_id
2821
+ read -p "Model Name: " new_name
2822
+ read -p "Description: " new_desc
2823
+ if [[ -n "$new_id" && -n "$new_name" ]] && command -v jq &>/dev/null; then
2824
+ jq ".models += [{\"id\":\"$new_id\",\"name\":\"$new_name\",\"description\":\"$new_desc\"}]" "$CLAUDE_CFG" > "${CLAUDE_CFG}.tmp" && mv "${CLAUDE_CFG}.tmp" "$CLAUDE_CFG"
2825
+ echo -e "${GREEN}✓ Model '$new_name' added to Claude!${NC}"
2826
+ fi
2827
+ ;;
2828
+ 4)
2829
+ # Add to Letta
2830
+ LETTA_CFG="$SCRIPT_DIR/models/letta/config.json"
2831
+ echo ""
2832
+ echo -e "${CYAN}Add New Letta Model${NC}"
2833
+ read -p "Model ID: " new_id
2834
+ read -p "Model Name: " new_name
2835
+ read -p "Description: " new_desc
2836
+ if [[ -n "$new_id" && -n "$new_name" ]] && command -v jq &>/dev/null; then
2837
+ jq ".models += [{\"id\":\"$new_id\",\"name\":\"$new_name\",\"description\":\"$new_desc\"}]" "$LETTA_CFG" > "${LETTA_CFG}.tmp" && mv "${LETTA_CFG}.tmp" "$LETTA_CFG"
2838
+ echo -e "${GREEN}✓ Model '$new_name' added to Letta!${NC}"
2839
+ fi
2840
+ ;;
2841
+ esac
2787
2842
  ;;
2788
2843
  6)
2789
- # Edit Existing Model
2844
+ # Edit Existing Model - Pick provider first
2790
2845
  echo ""
2791
- if [[ -f "$SCRIPT_DIR/scripts/add-model-manual.sh" ]]; then
2792
- echo "3" | bash "$SCRIPT_DIR/scripts/add-model-manual.sh"
2793
- else
2794
- echo -e "${RED}Script not found: scripts/add-model-manual.sh${NC}"
2846
+ echo -e "${BLUE}═══ EDIT MODEL ═══${NC}"
2847
+ echo ""
2848
+ echo "Pilih provider:"
2849
+ echo ""
2850
+ echo "1) 🇨🇳 ZhipuAI/GLM"
2851
+ echo "2) 🎵 MiniMax"
2852
+ echo "3) 🤖 Claude/Anthropic"
2853
+ echo "4) 🧠 Letta AI"
2854
+ echo "0) Back"
2855
+ echo ""
2856
+ read -p "Pilih provider: " prov_choice
2857
+
2858
+ case $prov_choice in
2859
+ 1) CFG_FILE="$SCRIPT_DIR/models/glm/config.json" ;;
2860
+ 2) CFG_FILE="$SCRIPT_DIR/models/minimax/config.json" ;;
2861
+ 3) CFG_FILE="$SCRIPT_DIR/models/anthropic/config.json" ;;
2862
+ 4) CFG_FILE="$SCRIPT_DIR/models/letta/config.json" ;;
2863
+ *) CFG_FILE="" ;;
2864
+ esac
2865
+
2866
+ if [[ -n "$CFG_FILE" && -f "$CFG_FILE" ]] && command -v jq &>/dev/null; then
2867
+ echo ""
2868
+ echo -e "${CYAN}Models in config:${NC}"
2869
+ jq -r '.models[] | "\(.id) - \(.name)"' "$CFG_FILE" 2>/dev/null | nl -w2 -s") "
2870
+ echo ""
2871
+ read -p "Model number to edit: " edit_num
2872
+ idx=$((edit_num-1))
2873
+ current_id=$(jq -r ".models[$idx].id // empty" "$CFG_FILE")
2874
+ current_name=$(jq -r ".models[$idx].name // empty" "$CFG_FILE")
2875
+ current_desc=$(jq -r ".models[$idx].description // empty" "$CFG_FILE")
2876
+ if [[ -n "$current_id" ]]; then
2877
+ echo ""
2878
+ echo "Current: $current_id - $current_name"
2879
+ echo " Desc: $current_desc"
2880
+ echo ""
2881
+ read -p "New ID [$current_id]: " new_id
2882
+ read -p "New Name [$current_name]: " new_name
2883
+ read -p "New Description [$current_desc]: " new_desc
2884
+ new_id=${new_id:-$current_id}
2885
+ new_name=${new_name:-$current_name}
2886
+ new_desc=${new_desc:-$current_desc}
2887
+ jq ".models[$idx] = {\"id\":\"$new_id\",\"name\":\"$new_name\",\"description\":\"$new_desc\"}" "$CFG_FILE" > "${CFG_FILE}.tmp" && mv "${CFG_FILE}.tmp" "$CFG_FILE"
2888
+ echo -e "${GREEN}✓ Model updated!${NC}"
2889
+ else
2890
+ echo -e "${RED}Model not found${NC}"
2891
+ fi
2892
+ elif [[ -n "$CFG_FILE" ]]; then
2893
+ echo -e "${RED}Config file not found or jq not installed${NC}"
2795
2894
  fi
2796
2895
  ;;
2797
2896
  7)
2798
- # List All Models
2897
+ # List All Models from all providers
2799
2898
  echo ""
2800
- if [[ -f "$SCRIPT_DIR/scripts/add-model-manual.sh" ]]; then
2801
- echo "4" | bash "$SCRIPT_DIR/scripts/add-model-manual.sh"
2802
- else
2803
- echo -e "${BLUE}═══ ALL MODELS ═══${NC}"
2899
+ echo -e "${BLUE}═══ ALL MODELS ═══${NC}"
2900
+ echo ""
2901
+
2902
+ # GLM Models
2903
+ GLM_CFG="$SCRIPT_DIR/models/glm/config.json"
2904
+ if [[ -f "$GLM_CFG" ]] && command -v jq &>/dev/null; then
2905
+ echo -e "${CYAN}🇨🇳 ZhipuAI/GLM:${NC}"
2906
+ jq -r '.models[] | " • \(.id) - \(.description)"' "$GLM_CFG" 2>/dev/null
2804
2907
  echo ""
2805
- echo -e "${CYAN}Built-in Models:${NC}"
2806
- echo " 1) MiniMax (Direct Anthropic)"
2807
- echo " 2) Google Gemini"
2808
- echo " 3) OpenAI"
2809
- echo " 4) xAI / Grok"
2810
- echo " 5) ZhipuAI / GLM"
2811
- echo " 6) Groq"
2812
- echo " 7) Ollama (Local)"
2813
- echo " 8) Letta AI"
2908
+ fi
2909
+
2910
+ # MiniMax Models
2911
+ MM_CFG="$SCRIPT_DIR/models/minimax/config.json"
2912
+ if [[ -f "$MM_CFG" ]] && command -v jq &>/dev/null; then
2913
+ echo -e "${CYAN}🎵 MiniMax:${NC}"
2914
+ jq -r '.models[]? | " • \(.id) - \(.description)"' "$MM_CFG" 2>/dev/null || echo " (no models configured)"
2915
+ echo ""
2916
+ fi
2917
+
2918
+ # Claude/Anthropic Models
2919
+ CLAUDE_CFG="$SCRIPT_DIR/models/anthropic/config.json"
2920
+ echo -e "${CYAN}🤖 Claude/Anthropic:${NC}"
2921
+ if [[ -f "$CLAUDE_CFG" ]] && command -v jq &>/dev/null; then
2922
+ jq -r '.models[]? | " • \(.id) - \(.description)"' "$CLAUDE_CFG" 2>/dev/null
2923
+ fi
2924
+ echo " • claude-sonnet-4-20250514 (Latest Sonnet)"
2925
+ echo " • claude-3-5-sonnet-20241022 (Sonnet 3.5)"
2926
+ echo " • claude-3-5-haiku-20241022 (Haiku - Fast)"
2927
+ echo " • claude-3-opus-20240229 (Opus - Best)"
2928
+ echo ""
2929
+
2930
+ # Letta Models
2931
+ LETTA_CFG="$SCRIPT_DIR/models/letta/config.json"
2932
+ if [[ -f "$LETTA_CFG" ]] && command -v jq &>/dev/null; then
2933
+ echo -e "${CYAN}🧠 Letta AI:${NC}"
2934
+ jq -r '.models[]? | " • \(.id) - \(.description)"' "$LETTA_CFG" 2>/dev/null || echo " (uses Claude/GPT via Letta API)"
2814
2935
  echo ""
2815
- echo -e "${CYAN}Custom Models:${NC}"
2816
- if [[ -d "$HOME/.claude/models" ]]; then
2817
- ls -1 "$HOME/.claude/models"/*.json 2>/dev/null | while read f; do
2818
- echo " - $(basename "$f" .json)"
2819
- done
2820
- else
2821
- echo " (none)"
2822
- fi
2823
2936
  fi
2824
2937
  ;;
2825
2938
  8)
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-all-config",
3
- "version": "3.1.16",
3
+ "version": "3.2.0",
4
4
  "description": "🤖 Universal AI CLI Config with Advanced Skills System - Quality Scoring, Scaffolding, Testing, Hooks & Multi-Agent Support (Claude Code, Cursor, Copilot, Gemini & 20+ More)",
5
5
  "main": "index.js",
6
6
  "bin": {
@@ -120,7 +120,7 @@
120
120
  "codex",
121
121
  "trae"
122
122
  ],
123
- "skillsCount": 60,
123
+ "skillsCount": 61,
124
124
  "agentsCount": 14,
125
125
  "commandsCount": 3
126
126
  },
@@ -0,0 +1,191 @@
1
+ ---
2
+ name: standard-architecture
3
+ description: Automatically setup secure deployment architecture with Nginx + Unix Socket + Cloudflare Tunnel. Use when creating new applications, backends, APIs, or any web service. Triggers on "create app", "deploy service", "new backend", "setup architecture".
4
+ ---
5
+
6
+ # Standard Security Architecture
7
+
8
+ Automatically deploys applications using the **most secure architecture pattern**:
9
+ - **Zero public ports** for backend services
10
+ - **Unix Domain Sockets** for inter-process communication
11
+ - **Nginx reverse proxy** for security and performance
12
+ - **Cloudflare Tunnel** for zero-trust network access
13
+ - **Docker isolation** with proper security boundaries
14
+
15
+ ## When to Use
16
+
17
+ - Creating new web applications, APIs, or backend services
18
+ - Migrating existing services to secure architecture
19
+ - Setting up development/staging/production environments
20
+ - Any application requiring internet access
21
+
22
+ ## Architecture Pattern
23
+
24
+ ```
25
+ Internet → Cloudflare Edge → CF Tunnel → Nginx → Unix Socket → Docker App
26
+ ```
27
+
28
+ **Security Benefits:**
29
+ - ✅ Zero network ports exposed to internet
30
+ - ✅ File-based permissions for socket access
31
+ - ✅ Nginx security layer (rate limiting, headers)
32
+ - ✅ Container isolation boundaries
33
+ - ✅ DDoS protection via Cloudflare
34
+
35
+ ## Quick Start
36
+
37
+ The skill automatically:
38
+ 1. **Generate Docker setup** with Unix socket support
39
+ 2. **Create Nginx config** with security hardening
40
+ 3. **Setup Cloudflare Tunnel** configuration
41
+ 4. **Configure systemd services** for auto-restart
42
+ 5. **Apply security policies** and file permissions
43
+ 6. **Test deployment** end-to-end
44
+
45
+ ## Implementation
46
+
47
+ ### Application Requirements
48
+ - Must support Unix Domain Socket binding (most modern frameworks do)
49
+ - Should have health check endpoint
50
+ - Environment variable configuration
51
+
52
+ ### Generated Files
53
+ ```
54
+ project/
55
+ ├── docker-compose.yml # Docker with Unix socket volume
56
+ ├── nginx/
57
+ │ └── app.conf # Nginx reverse proxy config
58
+ ├── cloudflared/
59
+ │ └── config.yml # CF tunnel configuration
60
+ ├── systemd/
61
+ │ └── app.service # Auto-restart service
62
+ └── scripts/
63
+ ├── deploy.sh # Full deployment script
64
+ └── health-check.sh # Service validation
65
+ ```
66
+
67
+ ### Nginx Security Features
68
+ - Rate limiting per IP
69
+ - Security headers (HSTS, CSP, etc)
70
+ - Request size limits
71
+ - Bad bot blocking
72
+ - SSL/TLS hardening
73
+
74
+ ### Unix Socket Configuration
75
+ - Proper file permissions (660)
76
+ - Owner/group management
77
+ - Socket cleanup on restart
78
+ - Performance optimizations
79
+
80
+ ## Usage Examples
81
+
82
+ ### Backend API
83
+ ```bash
84
+ ./scripts/deploy.sh --type=api --port=8080 --domain=api.example.com
85
+ ```
86
+
87
+ ### Full-Stack App
88
+ ```bash
89
+ ./scripts/deploy.sh --type=webapp --frontend=3000 --backend=8080 --domain=app.example.com
90
+ ```
91
+
92
+ ### Database Service
93
+ ```bash
94
+ ./scripts/deploy.sh --type=database --port=5432 --internal-only
95
+ ```
96
+
97
+ ## Advanced Configuration
98
+
99
+ ### Multi-Service Setup
100
+ Handle applications with multiple components (frontend, backend, workers) using unified socket directory and Nginx upstream configuration.
101
+
102
+ ### Load Balancing
103
+ Configure multiple backend instances behind single Unix socket proxy for horizontal scaling.
104
+
105
+ ### Monitoring Integration
106
+ Automatic setup of:
107
+ - Health check endpoints
108
+ - Prometheus metrics exposure
109
+ - Log aggregation configuration
110
+ - Alert manager integration
111
+
112
+ ## Security Hardening
113
+
114
+ ### File System
115
+ - Unix socket permissions: `660` (owner + group only)
116
+ - Service user isolation
117
+ - Read-only container filesystem where possible
118
+ - Volume mount restrictions
119
+
120
+ ### Network
121
+ - Container network isolation (`network_mode: none` for pure socket communication)
122
+ - Firewall rules via iptables
123
+ - CrowdSec integration for threat detection
124
+
125
+ ### Process
126
+ - Non-root container execution
127
+ - Resource limits (CPU, memory)
128
+ - Capability dropping
129
+ - Systemd service isolation
130
+
131
+ ## Troubleshooting
132
+
133
+ ### Common Issues
134
+ - **Socket permission denied**: Check file ownership and permissions
135
+ - **Connection refused**: Verify socket file exists and service is running
136
+ - **502 Bad Gateway**: Check socket path in Nginx config matches application
137
+ - **CF Tunnel not connecting**: Verify tunnel token and domain DNS
138
+
139
+ ### Debug Commands
140
+ ```bash
141
+ # Check socket file
142
+ ls -la /var/run/sockets/
143
+
144
+ # Test socket connectivity
145
+ curl --unix-socket /var/run/sockets/app.sock http://localhost/health
146
+
147
+ # Nginx config test
148
+ nginx -t
149
+
150
+ # Service status
151
+ systemctl status app
152
+ ```
153
+
154
+ ## Best Practices
155
+
156
+ ### Development Workflow
157
+ 1. Start with localhost development
158
+ 2. Test Unix socket locally
159
+ 3. Add Nginx layer
160
+ 4. Configure CF tunnel
161
+ 5. Deploy with monitoring
162
+
163
+ ### Production Checklist
164
+ - [ ] Unix socket permissions verified
165
+ - [ ] Nginx security headers enabled
166
+ - [ ] CF tunnel authenticated
167
+ - [ ] Health checks responding
168
+ - [ ] Log rotation configured
169
+ - [ ] Backup strategy in place
170
+ - [ ] Monitoring alerts active
171
+
172
+ ### Security Review
173
+ - [ ] No network ports in application containers
174
+ - [ ] Socket files protected (not world-readable)
175
+ - [ ] Nginx rate limiting configured
176
+ - [ ] CF WAF rules enabled
177
+ - [ ] Container runs as non-root
178
+ - [ ] Resource limits applied
179
+
180
+ ## Integration with Existing Services
181
+
182
+ Works seamlessly with:
183
+ - **Databases**: PostgreSQL, Redis, MongoDB via Unix sockets
184
+ - **Message Queues**: RabbitMQ, Apache Kafka
185
+ - **Monitoring**: Prometheus, Grafana, ELK stack
186
+ - **CI/CD**: GitHub Actions, GitLab CI, Jenkins
187
+ - **Container Orchestration**: Docker Swarm, basic Kubernetes
188
+
189
+ ---
190
+
191
+ **Note:** This pattern provides maximum security with minimal complexity. Every new application should follow this architecture unless specific requirements dictate otherwise.