create-ironclaws 1.0.1 → 1.0.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/package.json
CHANGED
|
@@ -22,6 +22,20 @@ Every message you send goes to Slack. Slack does not render standard Markdown. F
|
|
|
22
22
|
|
|
23
23
|
---
|
|
24
24
|
|
|
25
|
+
## RAG Status Emoji — Exact Codes (memorise these)
|
|
26
|
+
|
|
27
|
+
These are the ONLY correct codes for traffic-light status indicators. Do not guess or vary them.
|
|
28
|
+
|
|
29
|
+
| Status | Correct code | Wrong codes (do not use) |
|
|
30
|
+
|--------|-------------|--------------------------|
|
|
31
|
+
| 🔴 Red / violation / critical | `:red_circle:` | ~~`:large_red_circle:`~~ |
|
|
32
|
+
| 🟡 Yellow / warning / caution | `:large_yellow_circle:` | ~~`:yellow_circle:`~~ ~~`:warning:`~~ |
|
|
33
|
+
| 🟢 Green / compliant / clean | `:large_green_circle:` | ~~`:green_circle:`~~ ~~`:white_check_mark:`~~ |
|
|
34
|
+
|
|
35
|
+
Rule: red has no `large_` prefix. Yellow and green both require the `large_` prefix. This is a Slack quirk — the non-large versions of yellow and green render as different emoji entirely.
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
25
39
|
## Data without tables
|
|
26
40
|
|
|
27
41
|
Tables don't render. Use these patterns instead:
|
|
@@ -4,6 +4,8 @@ You are Forge, the built-in guide for IronClaws. You help people understand how
|
|
|
4
4
|
|
|
5
5
|
You are running inside IronClaws itself — which means you can inspect the codebase, read configuration files, and help make changes directly.
|
|
6
6
|
|
|
7
|
+
**You communicate exclusively through Slack. Always use Slack mrkdwn formatting — never standard Markdown. Follow the `slack-formatting` skill for every message you send. Key rules: `*bold*` not `**bold**`, no `##` headings, no markdown tables, no `---` dividers.**
|
|
8
|
+
|
|
7
9
|
---
|
|
8
10
|
|
|
9
11
|
## What you know
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
# Run this on the VM after deploying NanoClaw:
|
|
8
8
|
# cd ~/nanoclaw-docker && bash scripts/setup-onecli-secrets.sh
|
|
9
9
|
|
|
10
|
-
set -
|
|
10
|
+
set -eo pipefail
|
|
11
11
|
|
|
12
12
|
ENV_FILE="${ENV_FILE:-$(dirname "$0")/../.env}"
|
|
13
13
|
API="http://localhost:10254"
|
|
@@ -112,6 +112,13 @@ if [ ! -f "$ENV_FILE" ]; then
|
|
|
112
112
|
exit 1
|
|
113
113
|
fi
|
|
114
114
|
|
|
115
|
+
# Check OneCLI is reachable before proceeding
|
|
116
|
+
if ! api_curl "$API/api/secrets" > /dev/null 2>&1; then
|
|
117
|
+
echo " ⚠ OneCLI not reachable at $API — skipping secrets setup"
|
|
118
|
+
echo " Start OneCLI with: docker compose up -d"
|
|
119
|
+
exit 0
|
|
120
|
+
fi
|
|
121
|
+
|
|
115
122
|
echo "Reading credentials from $ENV_FILE"
|
|
116
123
|
echo ""
|
|
117
124
|
|
|
@@ -135,6 +142,13 @@ CONFLUENCE_BASIC=$(printf '%s:%s' "$CONFLUENCE_USERNAME" "$CONFLUENCE_PASSWORD"
|
|
|
135
142
|
SLACK_BOT_TOKEN=$(env_val "SLACK_BOT_TOKEN")
|
|
136
143
|
INTERCOM_ACCESS_TOKEN=$(env_val "INTERCOM_ACCESS_TOKEN")
|
|
137
144
|
|
|
145
|
+
XLEDGER_API_TOKEN=$(env_val "XLEDGER_API_TOKEN")
|
|
146
|
+
XLEDGER_API_BASE=$(env_val "XLEDGER_API_BASE")
|
|
147
|
+
XLEDGER_HOST=$(echo "$XLEDGER_API_BASE" | sed 's|^https://||;s|^http://||' | cut -d/ -f1)
|
|
148
|
+
|
|
149
|
+
ARDOQ_API_KEY=$(env_val "ARDOQ_API_KEY")
|
|
150
|
+
ARDOQ_BASE_URL=$(env_val "ARDOQ_BASE_URL")
|
|
151
|
+
ARDOQ_HOST=$(echo "$ARDOQ_BASE_URL" | sed 's|^https://||;s|^http://||' | cut -d/ -f1)
|
|
138
152
|
|
|
139
153
|
ANTHROPIC_AUTH_TOKEN=$(env_val "ANTHROPIC_AUTH_TOKEN")
|
|
140
154
|
LLM_GATEWAY=$(env_val "ANTHROPIC_BASE_URL")
|
|
@@ -168,11 +182,18 @@ fi
|
|
|
168
182
|
upsert_secret "intercom" "api.intercom.io" "Authorization" "Bearer $INTERCOM_ACCESS_TOKEN" || \
|
|
169
183
|
echo " ⚠ Skipping intercom"
|
|
170
184
|
|
|
185
|
+
[ -n "$ARDOQ_API_KEY" ] && [ -n "$ARDOQ_HOST" ] && \
|
|
186
|
+
upsert_secret "ardoq" "$ARDOQ_HOST" "Authorization" "Token token=$ARDOQ_API_KEY" || \
|
|
187
|
+
echo " ⚠ Skipping ardoq"
|
|
171
188
|
|
|
172
189
|
[ -n "$ANTHROPIC_AUTH_TOKEN" ] && [ -n "$LLM_GATEWAY_HOST" ] && \
|
|
173
190
|
upsert_secret "litellm" "$LLM_GATEWAY_HOST" "Authorization" "Bearer $ANTHROPIC_AUTH_TOKEN" || \
|
|
174
191
|
echo " ⚠ Skipping litellm"
|
|
175
192
|
|
|
193
|
+
[ -n "$XLEDGER_API_TOKEN" ] && [ -n "$XLEDGER_HOST" ] && \
|
|
194
|
+
upsert_secret "xledger" "$XLEDGER_HOST" "Authorization" "token $XLEDGER_API_TOKEN" || \
|
|
195
|
+
echo " ⚠ Skipping xledger"
|
|
196
|
+
|
|
176
197
|
echo ""
|
|
177
198
|
|
|
178
199
|
# ── Register global-claw agent if missing ────────────────────────────────────
|
|
@@ -219,7 +240,14 @@ if ! python3 -c "import yaml" 2>/dev/null; then
|
|
|
219
240
|
pip3 install pyyaml --quiet --break-system-packages 2>/dev/null || \
|
|
220
241
|
pip3 install pyyaml --quiet 2>/dev/null || \
|
|
221
242
|
pip install pyyaml --quiet 2>/dev/null || \
|
|
222
|
-
{ echo "
|
|
243
|
+
{ echo " ⚠ Could not install PyYAML — skipping agent secret linking. Run: pip3 install pyyaml"; SKIP_LINKING=1; }
|
|
244
|
+
fi
|
|
245
|
+
|
|
246
|
+
if [ "${SKIP_LINKING:-0}" = "1" ]; then
|
|
247
|
+
echo " ⚠ Skipping agent secret linking (PyYAML unavailable)"
|
|
248
|
+
echo ""
|
|
249
|
+
echo "Done."
|
|
250
|
+
exit 0
|
|
223
251
|
fi
|
|
224
252
|
|
|
225
253
|
echo "Linking secrets to agents (from agents.yaml)..."
|