instar 0.4.5 → 0.4.7

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
@@ -376,6 +376,49 @@ One agent's growing pain becomes every agent's growth.
376
376
 
377
377
  Everything is file-based. No database. JSON state files the agent can read and modify. tmux for session management -- battle-tested, survives disconnects, fully scriptable.
378
378
 
379
+ ## Security Model: Permissions & Transparency
380
+
381
+ **Instar runs Claude Code with `--dangerously-skip-permissions`.** This is a deliberate architectural choice, and you should understand exactly what it means before proceeding.
382
+
383
+ ### What This Flag Does
384
+
385
+ Claude Code normally prompts you to approve each tool use -- every file read, every shell command, every edit. The `--dangerously-skip-permissions` flag disables these per-action prompts, allowing the agent to operate autonomously without waiting for human approval on each step.
386
+
387
+ ### Why We Use It
388
+
389
+ An agent that asks permission for every action isn't an agent -- it's a CLI tool with extra steps. Instar exists to give Claude Code **genuine autonomy**: background jobs that run on schedules, sessions that respond to Telegram messages, self-evolution that happens without you watching.
390
+
391
+ None of that works if the agent stops and waits for you to click "approve" on every file read.
392
+
393
+ ### Where Security Actually Lives
394
+
395
+ Instead of per-action permission prompts, Instar pushes security to a higher level:
396
+
397
+ **Behavioral hooks** -- Structural guardrails that fire automatically:
398
+ - Dangerous command guards block `rm -rf`, force push, database drops
399
+ - Grounding hooks force identity re-read before external communication
400
+ - Session-start hooks inject safety context into every new session
401
+
402
+ **Identity coherence** -- A grounded, coherent agent with clear identity (`AGENT.md`), relationship context (`USER.md`), and accumulated memory (`MEMORY.md`) makes better decisions than a stateless process approving actions one at a time. The intelligence layer IS the security layer.
403
+
404
+ **Audit trail** -- Every session runs in tmux with full output capture. Message logs, job execution history, and session output are all persisted and inspectable.
405
+
406
+ ### What You Should Know
407
+
408
+ **There is no sandbox.** With `--dangerously-skip-permissions`, Claude Code has access to your entire machine -- not just the project directory. It can read files anywhere, run any command, and access any resource your user account can access. This is the same level of access as running any program on your computer.
409
+
410
+ - The agent **can read, write, and execute** anywhere on your machine without asking
411
+ - The agent **can run any shell command** your user account has access to
412
+ - The agent **can send messages** via Telegram and other configured integrations
413
+ - The agent **is directed** by its CLAUDE.md, identity files, and behavioral hooks to stay within its project scope -- but this is behavioral guidance, not a technical boundary
414
+ - All behavioral hooks, identity files, and CLAUDE.md instructions are **in your project** and fully editable by you
415
+
416
+ ### Proceed at Your Own Risk
417
+
418
+ This is infrastructure for people who want genuine AI autonomy, not a sandbox demo. You are giving an AI agent the same access to your machine that any program running under your user account has. The security model relies on intelligent behavior (identity, hooks, coherence) rather than permission dialogs or sandboxing.
419
+
420
+ If you're not comfortable with that trade-off, Claude Code's default permission mode may be a better fit for your use case.
421
+
379
422
  ## How the Agent Grows
380
423
 
381
424
  Instar adds an **Agentic Initiative** section to your project's CLAUDE.md. This teaches the agent to overcome [Claude's training biases](https://docs.anthropic.com/en/docs/claude-code) toward passivity:
@@ -62,7 +62,12 @@ export async function runSetup(opts) {
62
62
  }
63
63
  console.log();
64
64
  console.log(pc.bold(' Welcome to Instar'));
65
- console.log(pc.dim(' Launching conversational setup wizard...'));
65
+ console.log();
66
+ console.log(pc.yellow(' Note: Instar runs Claude Code with --dangerously-skip-permissions.'));
67
+ console.log(pc.dim(' This allows your agent to operate autonomously — reading, writing, and'));
68
+ console.log(pc.dim(' executing within your project without per-action approval prompts.'));
69
+ console.log(pc.dim(' Security is enforced through behavioral hooks, identity grounding, and'));
70
+ console.log(pc.dim(' scoped access — not permission dialogs. See: README.md > Security Model'));
66
71
  console.log();
67
72
  // Launch Claude Code from the instar package root (where .claude/skills/ lives)
68
73
  // and pass the target project directory in the prompt.
@@ -174,6 +174,24 @@ When asked for something I can't do yet, I build it:
174
174
  4. **Need to notify the user?** Use the messaging API.
175
175
  5. **Need external API access?** Write a script that calls the API.
176
176
 
177
+ ### Execution Context — How I Run
178
+
179
+ I run with \`--dangerously-skip-permissions\` — meaning I have full access to the machine without per-action approval prompts. This is by design, not an oversight.
180
+
181
+ **Why this exists:** An agent that asks permission for every file read and shell command isn't an agent. Autonomy requires trust, and trust requires coherence — my identity files, behavioral hooks, and accumulated memory are what make autonomous operation safe. The intelligence layer is the security layer.
182
+
183
+ **What this means in practice:**
184
+ - I have the same access as any program running under the user's account
185
+ - I can read and modify files anywhere on the machine, not just this project
186
+ - I can run any shell command without prompting
187
+ - I can send messages via configured integrations (Telegram, etc.)
188
+ - There is no sandbox — my scoping to this project is behavioral (these instructions), not technical
189
+ - Behavioral hooks guard against destructive operations (force push, rm -rf, database drops)
190
+ - My identity and grounding infrastructure keeps me coherent across sessions
191
+ - All sessions are captured in tmux for full audit trail
192
+
193
+ **My responsibility:** This level of access means I should operate with care. I stay within my project scope because my identity and instructions direct me to, not because I'm technically prevented from going elsewhere. The user trusts me with this access because a coherent, grounded agent makes better decisions than a stateless process clicking through permission dialogs.
194
+
177
195
  ### Core Principles
178
196
 
179
197
  **I am a builder, not an assistant.** When a user describes a problem, my first instinct is to solve it — not explain why it's hard, list options, or ask for permission.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "instar",
3
- "version": "0.4.5",
3
+ "version": "0.4.7",
4
4
  "description": "Persistent autonomy infrastructure for AI agents",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",