telo3-ai 6.1.0 → 6.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/README.md CHANGED
@@ -4,26 +4,19 @@ A chat-first skill for less AI slop, less wasted context, and continuity between
4
4
 
5
5
  ## Install
6
6
 
7
- Requires Node.js 20+ for the installer; chat activation uses the AI's file tools, not Node.
7
+ In your project, run one short command:
8
8
 
9
9
  ```bash
10
- npx telo3-ai@6.1.0 install
10
+ npm i telo3-ai
11
11
  ```
12
12
 
13
- This copies the complete skill into your project, independent of npm's temporary cache. It detects existing Qoder, Claude, Gemini or Cursor project folders; otherwise uses the shared `.agents/skills/telo3` directory.
13
+ That's it. The install adds the skill to your project and activates the always-on contract automatically (additive, idempotent, never overwrites your files; skips global installs). Then say **telo3** once in your AI chat.
14
14
 
15
- For a specific host:
15
+ Prefer npx, or a specific builder? `npx telo3-ai` does the same; `npx telo3-ai install --agent qoder` targets a host (`claude`, `cursor`, `gemini`, `copilot`, `codex`, `agents`). Requires Node.js 20+.
16
16
 
17
- ```bash
18
- npx telo3-ai@6.1.0 install --agent qoder
19
- # alternatives: claude, cursor, gemini, copilot, codex, agents
20
- ```
21
-
22
- Then type **telo3** in your AI chat. Refresh the host's skill list if it caches discovery. The AI installs a small project instruction block using its file tools, preserves existing instructions, and confirms once. Future sessions resume from project instructions and the short memory summary.
23
-
24
- For manual/no-terminal installation, copy this package into the appropriate project's skill directory as `telo3/`, with `SKILL.md`, references, templates and runtime assets intact. Then say **telo3**. Plain web chat without project-file access cannot persist activation by itself.
17
+ The skill is copied into your project, independent of npm's cache. It detects existing Qoder, Claude, Gemini or Cursor folders; otherwise uses the shared `.agents/skills/telo3` directory. Refresh the builder's skill list if it caches discovery. Future sessions resume from project instructions and the short memory summary.
25
18
 
26
- Optional direct activation: `npx telo3-ai@6.1.0 activate`. This also creates a durable project skill first.
19
+ No terminal at all? Copy this package into the project's skill directory as `telo3/` (with `SKILL.md`, references, templates and runtime assets), then say **telo3**. Plain web chat without project-file access cannot persist activation by itself.
27
20
 
28
21
  ## Small core, on-demand depth
29
22
 
package/SKILL.md CHANGED
@@ -17,7 +17,7 @@ Use your file tools; the user need not run commands.
17
17
  4. Reuse existing context in `project-context/`, `docs/project-context/`, or root. For substantial work, create missing doc skeletons from `templates/` and fill only evidenced information. A one-word activation does not authorize inventing a product or application code.
18
18
  5. Confirm once. Future sessions use the host's project instructions, without another keyword. A host with no file/instruction support cannot persist activation; state that limit, not fictitious success.
19
19
 
20
- Optional equivalent: `node <skill-dir>/cli.js activate <project>`. It first installs a durable project skill; `install [dir] --agent <host>` installs without activation. No auto-executing npm install scripts or hidden network calls.
20
+ Optional equivalent: `node <skill-dir>/cli.js activate <project>`. It first installs a durable project skill; `install [dir] --agent <host>` installs without activation. The npm post-install only adds the skill and contract to the current project (additive, idempotent, never clobbers; skips global installs and opt-out); no network calls.
21
21
 
22
22
  ## Restore context without bloat
23
23
 
@@ -1,5 +1,5 @@
1
1
  ---
2
- version: 6.1.0
2
+ version: 6.2.0
3
3
  ---
4
4
  <!-- TELO3:BEGIN v{{VERSION}} -->
5
5
  ## Telo3 — always-on engineering contract
package/cli.js CHANGED
@@ -250,9 +250,11 @@ switch (command) {
250
250
  console.log(`Telo3 v${getVersion()}`);
251
251
  break;
252
252
  case 'help':
253
- case undefined:
254
253
  console.log(HELP);
255
254
  break;
255
+ case undefined:
256
+ cmdActivate(rest);
257
+ break;
256
258
  default:
257
259
  console.error(`Unknown command: ${command}`);
258
260
  console.error('Run "telo3 help" for usage information');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "telo3-ai",
3
- "version": "6.1.0",
3
+ "version": "6.2.0",
4
4
  "description": "Always-on engineering contract for AI coding agents: persistent project context, anti-slop discipline, measured token efficiency, and security/privacy/design quality. Mention telo3 once; it stays active.",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -13,6 +13,7 @@
13
13
  "status": "node cli.js status",
14
14
  "activate": "node cli.js activate",
15
15
  "test": "node --test test/*.test.js",
16
+ "postinstall": "node scripts/postinstall.mjs",
16
17
  "verify:release": "node scripts/verify-release.mjs",
17
18
  "prepublishOnly": "npm test && npm run verify:release"
18
19
  },
@@ -59,6 +60,7 @@
59
60
  "templates/",
60
61
  "references/",
61
62
  "hooks/",
63
+ "scripts/postinstall.mjs",
62
64
  "cli.js",
63
65
  "index.js",
64
66
  "README.md",
@@ -0,0 +1,27 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Safe, additive setup so `npm i telo3-ai` is the only command a user types.
4
+ * Installs the durable project skill and activates the always-on contract in
5
+ * the invoking project. Never clobbers user content, never fails the install.
6
+ * Skips global installs, opt-out, and the package's own directory.
7
+ * @license MIT
8
+ */
9
+ import { resolve, dirname } from 'node:path';
10
+ import { fileURLToPath } from 'node:url';
11
+ import { installSkill } from '../src/install.js';
12
+ import { activate } from '../src/activate.js';
13
+
14
+ const SOURCE = resolve(dirname(fileURLToPath(import.meta.url)), '..');
15
+
16
+ try {
17
+ const global = process.env.npm_config_global === 'true';
18
+ const target = resolve(process.env.INIT_CWD || process.cwd());
19
+ if (!global && !process.env.TELO3_SKIP && target !== SOURCE) {
20
+ const installed = installSkill(target, { agent: 'auto' });
21
+ activate(target, { skillPath: installed.skillPath });
22
+ process.stdout.write('Telo3 ready. Say "telo3" once in your AI chat.\n');
23
+ }
24
+ } catch {
25
+ // Additive convenience only — never break `npm install`.
26
+ process.stdout.write('Telo3 installed. Run "npx telo3-ai" in your project to finish setup.\n');
27
+ }