@3lineas/grooveskills 1.1.0 → 1.1.2

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,7 +1,7 @@
1
1
  # GrooveSkills 🚀
2
2
 
3
3
  > **Multi-Agent AI Skills & Architectural Standards Installer**
4
- > Empower your AI coding pairs (Antigravity, Claude Code, Cursor, Gemini) with your team's real-world architectural habits, clean code patterns, and non-negotiables.
4
+ > Empower your AI coding pairs (Antigravity, Claude Code, Cursor, Gemini) with your team's real-world architectural habits, clean code patterns, and an encapsulated project control plane.
5
5
 
6
6
  ---
7
7
 
@@ -9,16 +9,48 @@
9
9
 
10
10
  - **⚡ Zero Configuration (`npx @3lineas/grooveskills`)**: Run inside any project root to inspect the environment and synchronize AI skills instantly.
11
11
  - **🎯 Smart Stack Detection**: Automatically inspects `package.json` dependencies and pre-selects matching skills (e.g. Hono, Valibot, React, Next.js).
12
+ - **🛡️ Encapsulated Project Harness (`.grooveskills/`)**:
13
+ - **Context & Architecture (`memory/context.md`)**: Instant architectural orientation for your AI agent.
14
+ - **Architecture Decision Records (`memory/decisions.md`)**: Clean, append-only log of technical choices and rationale.
15
+ - **Task & Evidence Tracking (`memory/tasks/`)**: Feature tasks tracked with real observed proof (tests, typecheck, builds) before completion.
16
+ - **3-Lane Execution Discipline**: Guides agents through *Answer* (read-only), *Task* (direct implementation), and *Spec* (complex architecture review).
17
+ - **🔗 Local Project Store & Relative Symlinks**:
18
+ - All installed skills and generated Cursor `.mdc` rules are stored directly inside `<project>/.grooveskills/`.
19
+ - Agent directories (`.agents`, `.claude`, `.cursor`, `.gemini`) use **relative symlinks** (`../../.grooveskills/...`), making the repository **100% portable across teams and git checkouts**.
12
20
  - **🤖 Multi-Agent Compatibility**:
13
21
  - **Antigravity**: `.agents/skills/<skill-name>/`
14
22
  - **Claude Code**: `.claude/skills/<skill-name>/`
15
- - **Cursor IDE**: `.cursor/rules/<skill-name>.mdc` (auto-adapted to Cursor rules format)
23
+ - **Cursor IDE**: `.cursor/rules/<skill-name>.mdc` (auto-adapted from markdown to Cursor `.mdc`)
16
24
  - **Gemini Code Assist**: `.gemini/skills/<skill-name>/`
17
- - **✨ Interactive & Friendly CLI**: Clean terminal experience built with `@clack/prompts` and courteous, persuasive feedback.
18
- - **🔗 Centralized Global Store & Symlinks**: Skills are synced globally to `~/.grooveskills/` and linked into local projects via symlinks. Updates to global skills instantly reflect across all your projects with zero file duplication.
19
- - **🛡️ Battle-tested Architectural Standards**:
20
- - **Universal Best Practices**: Multi-language clean code (TypeScript, PHP, Dart, Rust, etc.), early returns, zero barrel files, strict typing, <200 lines per file.
21
- - **Hono API Architecture**: Independent routes by domain, isolated Actions layer, database queries exclusively inside Actions, strict Valibot validation, and Cloudflare/Hono RPC.
25
+ - **✨ Interactive & Friendly CLI**: Clean terminal wizard built with `@clack/prompts` offering interactive skill selection, agent targeting, and harness initialization.
26
+
27
+ ---
28
+
29
+ ## 📂 Project Architecture
30
+
31
+ When GrooveSkills is initialized in a repository, it keeps all state cleanly encapsulated inside `.grooveskills/` without cluttering the project root:
32
+
33
+ ```text
34
+ my-project/
35
+ ├── .grooveskills/
36
+ │ ├── config.json # Project skills & agents manifest
37
+ │ ├── skills/ # Local copy of selected skills
38
+ │ │ ├── best-practices/
39
+ │ │ └── groove-harness/
40
+ │ ├── cursor-rules/ # Local .mdc rules for Cursor IDE
41
+ │ │ ├── best-practices.mdc
42
+ │ │ └── groove-harness.mdc
43
+ │ └── memory/ # Active project memory
44
+ │ ├── context.md # Stack, conventions & key commands
45
+ │ ├── decisions.md # Architecture Decision Records (ADR)
46
+ │ └── tasks/
47
+ │ └── _template.md # Template for feature intent & evidence
48
+ ├── .agents/skills/* # Relative symlinks -> ../../.grooveskills/skills/*
49
+ ├── .claude/skills/* # Relative symlinks -> ../../.grooveskills/skills/*
50
+ ├── .gemini/skills/* # Relative symlinks -> ../../.grooveskills/skills/*
51
+ ├── .cursor/rules/*.mdc # Relative symlinks -> ../../.grooveskills/cursor-rules/*.mdc
52
+ └── AGENTS.md / CLAUDE.md # Minimal harness pointer block <!-- grooveskills:harness -->
53
+ ```
22
54
 
23
55
  ---
24
56
 
@@ -34,33 +66,38 @@ npx @3lineas/grooveskills
34
66
 
35
67
  GrooveSkills will automatically:
36
68
  1. Detect any active AI agent folders (`.agents`, `.claude`, `.cursor`, `.gemini`).
37
- 2. Scan your project dependencies (`package.json`) and pre-select the recommended skills.
38
- 3. Guide you through an interactive multi-select menu.
39
- 4. Install and configure the skills for all chosen AI agents.
69
+ 2. Scan your project dependencies (`package.json`) and pre-select recommended skills.
70
+ 3. Prompt whether you want to initialize the **GrooveSkills Harness** in `.grooveskills/`.
71
+ 4. Install skills, generate agent configurations, and link everything via portable relative symlinks.
40
72
 
41
73
  ---
42
74
 
43
75
  ### 2. Direct / Automated Mode (CI / Scripting)
44
76
 
45
- Install specific skills for targeted agents without interactive prompts:
77
+ Install specific skills or the harness directly without interactive prompts:
46
78
 
47
79
  ```bash
48
- # Install specific skills for selected agents
49
- npx @3lineas/grooveskills --skills best-practices hono --agents antigravity claude
80
+ # Install skills and initialize the project harness for selected agents
81
+ npx @3lineas/grooveskills --skills best-practices hono --agents antigravity claude --harness -y
82
+
83
+ # Initialize only the harness across all supported agents
84
+ npx @3lineas/grooveskills --harness --agents antigravity claude cursor gemini -y
50
85
 
51
- # Automatically confirm overwrite of existing skills
52
- npx @3lineas/grooveskills --skills best-practices hono --agents antigravity claude cursor gemini --yes
86
+ # Skip harness initialization when installing skills
87
+ npx @3lineas/grooveskills --skills react-core --agents cursor --no-harness -y
53
88
  ```
54
89
 
55
90
  #### CLI Options
56
91
 
57
92
  | Flag | Description | Example |
58
93
  | :--- | :--- | :--- |
59
- | `-s, --skills` | Space-separated list of skill IDs to install | `--skills best-practices hono` |
60
- | `-a, --agents` | Target AI agents (`antigravity`, `claude`, `cursor`, `gemini`) | `--agents antigravity cursor` |
61
- | `-y, --yes` | Automatically overwrite existing skills | `--yes` |
94
+ | `-s, --skills <skills...>` | Specific skill IDs to install | `--skills best-practices hono` |
95
+ | `-a, --agents <agents...>` | Target AI agents (`antigravity`, `claude`, `cursor`, `gemini`) | `--agents antigravity cursor` |
96
+ | `--harness` | Initialize or update GrooveSkills project harness in `.grooveskills/` | `--harness` |
97
+ | `--no-harness` | Explicitly skip harness initialization | `--no-harness` |
98
+ | `-y, --yes` | Automatically overwrite existing skills | `-y` |
62
99
  | `-h, --help` | Display command help and options | `--help` |
63
- | `-V, --version` | Display the installed version of GrooveSkills | `--version` |
100
+ | `-V, --version` | Display installed version | `--version` |
64
101
 
65
102
  ---
66
103
 
@@ -68,6 +105,7 @@ npx @3lineas/grooveskills --skills best-practices hono --agents antigravity clau
68
105
 
69
106
  | Skill ID | Name | Description | Suggested When |
70
107
  | :--- | :--- | :--- | :--- |
108
+ | `groove-harness` | **GrooveSkills Harness** | Lightweight project control plane, context memory, and 3-lane task execution (Answer, Task, Spec). | Installed automatically with `--harness` or manually. |
71
109
  | `best-practices` | **Universal Best Practices** | Multi-language clean code, early returns, no barrel files, strict typing, <200 lines. | **Always suggested by default** (Any language/file) |
72
110
  | `hono` | **Hono Architecture (Valibot)** | Enterprise Hono standard: Valibot validation, Actions layer, RPC bindings, AppError. | Detected `hono`, `@hono/valibot-validator`, etc. |
73
111
  | `react-core` | **React Core Fundamentals** | Opinionated React fundamentals: function components, JSX, immutable state, core hooks, lists, and controlled inputs. | Detected `react`, `react-dom` |
package/dist/cli.js CHANGED
@@ -6,7 +6,7 @@ import {
6
6
  // bin/cli.ts
7
7
  import { Command } from "commander";
8
8
  var program = new Command();
9
- program.name("grooveskills").description("Multi-agent AI skills and architecture standards installer").version("1.1.0").option("-s, --skills <skills...>", "Specific skill IDs to install (e.g. best-practices hono groove-harness)").option("-a, --agents <agents...>", "Target AI agents (antigravity claude cursor gemini)").option("-y, --yes", "Automatically confirm overwrite of existing skills", false).option("--harness", "Initialize or update GrooveSkills project harness in .grooveskills/").option("--no-harness", "Skip harness initialization").action(async (options) => {
9
+ program.name("grooveskills").description("Multi-agent AI skills and architecture standards installer").version("1.1.2").option("-s, --skills <skills...>", "Specific skill IDs to install (e.g. best-practices hono groove-harness)").option("-a, --agents <agents...>", "Target AI agents (antigravity claude cursor gemini)").option("-y, --yes", "Automatically confirm overwrite of existing skills", false).option("--harness", "Initialize or update GrooveSkills project harness in .grooveskills/").option("--no-harness", "Skip harness initialization").action(async (options) => {
10
10
  try {
11
11
  await runGrooveSkills({
12
12
  skills: options.skills,
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../bin/cli.ts"],"sourcesContent":["#!/usr/bin/env node\nimport { Command } from \"commander\";\nimport { runGrooveSkills } from \"@/main\";\nimport type { AgentId } from \"@/types/agent.types\";\n\nconst program = new Command();\n\nprogram\n .name(\"grooveskills\")\n .description(\"Multi-agent AI skills and architecture standards installer\")\n .version(\"1.1.0\")\n .option(\"-s, --skills <skills...>\", \"Specific skill IDs to install (e.g. best-practices hono groove-harness)\")\n .option(\"-a, --agents <agents...>\", \"Target AI agents (antigravity claude cursor gemini)\")\n .option(\"-y, --yes\", \"Automatically confirm overwrite of existing skills\", false)\n .option(\"--harness\", \"Initialize or update GrooveSkills project harness in .grooveskills/\")\n .option(\"--no-harness\", \"Skip harness initialization\")\n .action(async (options: { skills?: string[]; agents?: string[]; yes?: boolean; harness?: boolean }) => {\n try {\n await runGrooveSkills({\n skills: options.skills,\n agents: options.agents as AgentId[] | undefined,\n yes: options.yes,\n harness: options.harness,\n });\n } catch (error) {\n console.error(\"An unexpected error occurred while running GrooveSkills:\", error);\n process.exit(1);\n }\n });\n\nprogram.parse();\n"],"mappings":";;;;;;AACA,SAAS,eAAe;AAIxB,IAAM,UAAU,IAAI,QAAQ;AAE5B,QACG,KAAK,cAAc,EACnB,YAAY,4DAA4D,EACxE,QAAQ,OAAO,EACf,OAAO,4BAA4B,yEAAyE,EAC5G,OAAO,4BAA4B,qDAAqD,EACxF,OAAO,aAAa,sDAAsD,KAAK,EAC/E,OAAO,aAAa,qEAAqE,EACzF,OAAO,gBAAgB,6BAA6B,EACpD,OAAO,OAAO,YAAwF;AACrG,MAAI;AACF,UAAM,gBAAgB;AAAA,MACpB,QAAQ,QAAQ;AAAA,MAChB,QAAQ,QAAQ;AAAA,MAChB,KAAK,QAAQ;AAAA,MACb,SAAS,QAAQ;AAAA,IACnB,CAAC;AAAA,EACH,SAAS,OAAO;AACd,YAAQ,MAAM,4DAA4D,KAAK;AAC/E,YAAQ,KAAK,CAAC;AAAA,EAChB;AACF,CAAC;AAEH,QAAQ,MAAM;","names":[]}
1
+ {"version":3,"sources":["../bin/cli.ts"],"sourcesContent":["#!/usr/bin/env node\nimport { Command } from \"commander\";\nimport { runGrooveSkills } from \"@/main\";\nimport type { AgentId } from \"@/types/agent.types\";\n\nconst program = new Command();\n\nprogram\n .name(\"grooveskills\")\n .description(\"Multi-agent AI skills and architecture standards installer\")\n .version(__VERSION__)\n .option(\"-s, --skills <skills...>\", \"Specific skill IDs to install (e.g. best-practices hono groove-harness)\")\n .option(\"-a, --agents <agents...>\", \"Target AI agents (antigravity claude cursor gemini)\")\n .option(\"-y, --yes\", \"Automatically confirm overwrite of existing skills\", false)\n .option(\"--harness\", \"Initialize or update GrooveSkills project harness in .grooveskills/\")\n .option(\"--no-harness\", \"Skip harness initialization\")\n .action(async (options: { skills?: string[]; agents?: string[]; yes?: boolean; harness?: boolean }) => {\n try {\n await runGrooveSkills({\n skills: options.skills,\n agents: options.agents as AgentId[] | undefined,\n yes: options.yes,\n harness: options.harness,\n });\n } catch (error) {\n console.error(\"An unexpected error occurred while running GrooveSkills:\", error);\n process.exit(1);\n }\n });\n\nprogram.parse();\n"],"mappings":";;;;;;AACA,SAAS,eAAe;AAIxB,IAAM,UAAU,IAAI,QAAQ;AAE5B,QACG,KAAK,cAAc,EACnB,YAAY,4DAA4D,EACxE,QAAQ,OAAW,EACnB,OAAO,4BAA4B,yEAAyE,EAC5G,OAAO,4BAA4B,qDAAqD,EACxF,OAAO,aAAa,sDAAsD,KAAK,EAC/E,OAAO,aAAa,qEAAqE,EACzF,OAAO,gBAAgB,6BAA6B,EACpD,OAAO,OAAO,YAAwF;AACrG,MAAI;AACF,UAAM,gBAAgB;AAAA,MACpB,QAAQ,QAAQ;AAAA,MAChB,QAAQ,QAAQ;AAAA,MAChB,KAAK,QAAQ;AAAA,MACb,SAAS,QAAQ;AAAA,IACnB,CAAC;AAAA,EACH,SAAS,OAAO;AACd,YAAQ,MAAM,4DAA4D,KAAK;AAC/E,YAAQ,KAAK,CAAC;AAAA,EAChB;AACF,CAAC;AAEH,QAAQ,MAAM;","names":[]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@3lineas/grooveskills",
3
- "version": "1.1.0",
3
+ "version": "1.1.2",
4
4
  "description": "Multi-agent CLI to install opinionated AI coding skills and architectural standards (Hono, React, Next.js, and more)",
5
5
  "type": "module",
6
6
  "bin": {