cursor-kit-cli 1.1.1 → 1.2.0-beta.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.
Files changed (94) hide show
  1. package/README.md +36 -0
  2. package/bin/cursor-new-instance +74 -0
  3. package/bin/cursor-remove-instance +69 -0
  4. package/dist/cli.cjs +601 -62
  5. package/dist/cli.cjs.map +1 -1
  6. package/dist/cli.js +601 -62
  7. package/dist/cli.js.map +1 -1
  8. package/dist/index.cjs +39 -1
  9. package/dist/index.cjs.map +1 -1
  10. package/dist/index.d.cts +9 -1
  11. package/dist/index.d.ts +9 -1
  12. package/dist/index.js +33 -2
  13. package/dist/index.js.map +1 -1
  14. package/package.json +3 -2
  15. package/templates/commands/docs.md +5 -3
  16. package/templates/commands/explain.md +5 -3
  17. package/templates/commands/fix.md +5 -3
  18. package/templates/commands/implement.md +5 -3
  19. package/templates/commands/refactor.md +5 -3
  20. package/templates/commands/review.md +5 -3
  21. package/templates/commands/test.md +5 -3
  22. package/templates/manifest.json +11 -8
  23. package/templates/rules/git.mdc +0 -2
  24. package/templates/rules/toc.mdc +17 -9
  25. package/templates/skills/aesthetic/SKILL.md +121 -0
  26. package/templates/skills/aesthetic/assets/design-guideline-template.md +163 -0
  27. package/templates/skills/aesthetic/assets/design-story-template.md +135 -0
  28. package/templates/skills/aesthetic/references/design-principles.md +62 -0
  29. package/templates/skills/aesthetic/references/design-resources.md +75 -0
  30. package/templates/skills/aesthetic/references/micro-interactions.md +53 -0
  31. package/templates/skills/aesthetic/references/storytelling-design.md +50 -0
  32. package/templates/skills/backend-development/SKILL.mdc +95 -0
  33. package/templates/skills/backend-development/references/backend-api-design.md +495 -0
  34. package/templates/skills/backend-development/references/backend-architecture.md +454 -0
  35. package/templates/skills/backend-development/references/backend-authentication.md +338 -0
  36. package/templates/skills/backend-development/references/backend-code-quality.md +659 -0
  37. package/templates/skills/backend-development/references/backend-debugging.md +904 -0
  38. package/templates/skills/backend-development/references/backend-devops.md +494 -0
  39. package/templates/skills/backend-development/references/backend-mindset.md +387 -0
  40. package/templates/skills/backend-development/references/backend-performance.md +397 -0
  41. package/templates/skills/backend-development/references/backend-security.md +290 -0
  42. package/templates/skills/backend-development/references/backend-technologies.md +256 -0
  43. package/templates/skills/backend-development/references/backend-testing.md +429 -0
  44. package/templates/skills/frontend-design/SKILL.mdc +41 -0
  45. package/templates/skills/frontend-design/references/animejs.md +396 -0
  46. package/templates/skills/frontend-development/SKILL.mdc +399 -0
  47. package/templates/skills/frontend-development/resources/common-patterns.md +331 -0
  48. package/templates/skills/frontend-development/resources/complete-examples.md +872 -0
  49. package/templates/skills/frontend-development/resources/component-patterns.md +502 -0
  50. package/templates/skills/frontend-development/resources/data-fetching.md +767 -0
  51. package/templates/skills/frontend-development/resources/file-organization.md +502 -0
  52. package/templates/skills/frontend-development/resources/loading-and-error-states.md +501 -0
  53. package/templates/skills/frontend-development/resources/performance.md +406 -0
  54. package/templates/skills/frontend-development/resources/routing-guide.md +364 -0
  55. package/templates/skills/frontend-development/resources/styling-guide.md +428 -0
  56. package/templates/skills/frontend-development/resources/typescript-standards.md +418 -0
  57. package/templates/skills/problem-solving/SKILL.mdc +96 -0
  58. package/templates/skills/problem-solving/references/attribution.md +69 -0
  59. package/templates/skills/problem-solving/references/collision-zone-thinking.md +79 -0
  60. package/templates/skills/problem-solving/references/inversion-exercise.md +91 -0
  61. package/templates/skills/problem-solving/references/meta-pattern-recognition.md +87 -0
  62. package/templates/skills/problem-solving/references/scale-game.md +95 -0
  63. package/templates/skills/problem-solving/references/simplification-cascades.md +80 -0
  64. package/templates/skills/problem-solving/references/when-stuck.md +72 -0
  65. package/templates/skills/research/SKILL.mdc +168 -0
  66. package/templates/skills/sequential-thinking/.env.example +8 -0
  67. package/templates/skills/sequential-thinking/README.md +183 -0
  68. package/templates/skills/sequential-thinking/SKILL.mdc +94 -0
  69. package/templates/skills/sequential-thinking/package.json +31 -0
  70. package/templates/skills/sequential-thinking/references/advanced-strategies.md +79 -0
  71. package/templates/skills/sequential-thinking/references/advanced-techniques.md +76 -0
  72. package/templates/skills/sequential-thinking/references/core-patterns.md +95 -0
  73. package/templates/skills/sequential-thinking/references/examples-api.md +88 -0
  74. package/templates/skills/sequential-thinking/references/examples-architecture.md +94 -0
  75. package/templates/skills/sequential-thinking/references/examples-debug.md +90 -0
  76. package/templates/skills/sequential-thinking/scripts/format-thought.js +159 -0
  77. package/templates/skills/sequential-thinking/scripts/process-thought.js +236 -0
  78. package/templates/skills/sequential-thinking/tests/format-thought.test.js +133 -0
  79. package/templates/skills/sequential-thinking/tests/process-thought.test.js +215 -0
  80. package/templates/skills/ui-styling/LICENSE.txt +202 -0
  81. package/templates/skills/ui-styling/SKILL.mdc +321 -0
  82. package/templates/skills/ui-styling/references/canvas-design-system.md +320 -0
  83. package/templates/skills/ui-styling/references/shadcn-accessibility.md +471 -0
  84. package/templates/skills/ui-styling/references/shadcn-components.md +424 -0
  85. package/templates/skills/ui-styling/references/shadcn-theming.md +373 -0
  86. package/templates/skills/ui-styling/references/tailwind-customization.md +483 -0
  87. package/templates/skills/ui-styling/references/tailwind-responsive.md +382 -0
  88. package/templates/skills/ui-styling/references/tailwind-utilities.md +455 -0
  89. package/templates/rules/frontend-design.mdc +0 -48
  90. package/templates/rules/performance.mdc +0 -54
  91. package/templates/rules/react.mdc +0 -58
  92. package/templates/rules/security.mdc +0 -50
  93. package/templates/rules/testing.mdc +0 -54
  94. package/templates/rules/typescript.mdc +0 -36
package/README.md CHANGED
@@ -39,6 +39,7 @@ ck init
39
39
  - **📜 Commands** - Reusable prompt templates for common tasks
40
40
  - **📋 Rules** - Project-specific AI behavior guidelines
41
41
  - **🔄 Sync** - Keep configurations updated from the community
42
+ - **đŸ–Ĩī¸ Multi-Instance** - Run multiple Cursor accounts simultaneously (macOS)
42
43
  - **🎨 Beautiful CLI** - Delightful terminal experience
43
44
 
44
45
  ## đŸ“Ļ Commands
@@ -98,6 +99,41 @@ cursor-kit remove -t command -n my-command # Quick remove
98
99
  cursor-kit remove -f # Skip confirmation
99
100
  ```
100
101
 
102
+ ### `instance`
103
+
104
+ Manage multiple Cursor IDE instances for multi-account login. **macOS only.**
105
+
106
+ This command allows you to create separate Cursor instances, each with its own identity (bundle ID) and data directory. Perfect for users who need to work with multiple Cursor accounts simultaneously.
107
+
108
+ ```bash
109
+ cursor-kit instance # Interactive mode
110
+ cursor-kit instance -l # List existing instances
111
+ cursor-kit instance -a create -n "Cursor Work" # Create instance
112
+ cursor-kit instance -a remove -n "Cursor Work" # Remove instance
113
+ ```
114
+
115
+ **How it works:**
116
+ - Creates a copy of Cursor.app in `~/Applications/`
117
+ - Assigns a unique bundle identifier (e.g., `com.cursor.cursorwork`)
118
+ - Creates a separate data directory in `~/Library/Application Support/`
119
+ - Re-signs the app with an ad-hoc signature
120
+ - Each instance can be logged into with a different Cursor account
121
+
122
+ **Example workflow:**
123
+ ```bash
124
+ # Create an instance for work projects
125
+ cursor-kit instance -a create -n "Cursor Enterprise"
126
+
127
+ # Create another for personal use
128
+ cursor-kit instance -a create -n "Cursor Personal"
129
+
130
+ # List all your instances
131
+ cursor-kit instance --list
132
+
133
+ # Remove an instance when no longer needed
134
+ cursor-kit instance -a remove -n "Cursor Personal"
135
+ ```
136
+
101
137
  ## 📁 Directory Structure
102
138
 
103
139
  After running `cursor-kit init`, your project will have:
@@ -0,0 +1,74 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ # OS guard – must be macOS
5
+ if [ "$(uname)" != "Darwin" ]; then
6
+ echo "This command only works on macOS." >&2
7
+ exit 1
8
+ fi
9
+
10
+
11
+ # === Arguments ===
12
+ NEW_APP_NAME="${1:-}"
13
+
14
+ if [ -z "$NEW_APP_NAME" ]; then
15
+ echo "Usage: $0 \"New App Name (e.g. Cursor Enterprise)\"" >&2
16
+ exit 1
17
+ fi
18
+
19
+ # === Config based on name ===
20
+ ORIG_APP_NAME="Cursor"
21
+ ORIG_APP="/Applications/$ORIG_APP_NAME.app"
22
+
23
+ # slug: lowercase, alphanumeric only, used in bundle id / data dir
24
+ SLUG="$(echo "$NEW_APP_NAME" | tr '[:upper:]' '[:lower:]' | tr -cd '[:alnum:]')"
25
+ [ -z "$SLUG" ] && SLUG="custom"
26
+
27
+ BUNDLE_ID="com.cursor.$SLUG"
28
+ TARGET_APP="$HOME/Applications/$NEW_APP_NAME.app"
29
+ DATA_DIR="$HOME/Library/Application Support/${NEW_APP_NAME// /}"
30
+
31
+ echo "New app name: $NEW_APP_NAME"
32
+ echo "Bundle identifier: $BUNDLE_ID"
33
+ echo "Target app: $TARGET_APP"
34
+ echo "Data dir: $DATA_DIR"
35
+ echo
36
+
37
+ # === Step 1: Copy original app ===
38
+ if [ ! -d "$ORIG_APP" ]; then
39
+ echo "❌ Original app not found at: $ORIG_APP" >&2
40
+ exit 1
41
+ fi
42
+
43
+ echo "📁 Creating $HOME/Applications if needed..."
44
+ mkdir -p "$HOME/Applications"
45
+
46
+ echo "đŸ“Ļ Copying $ORIG_APP -> $TARGET_APP ..."
47
+ cp -R "$ORIG_APP" "$TARGET_APP"
48
+
49
+ # === Step 3: Give each app its own identity ===
50
+ APP="$TARGET_APP"
51
+ PLIST="$APP/Contents/Info.plist"
52
+
53
+ echo "📝 Setting CFBundleIdentifier to $BUNDLE_ID in $PLIST ..."
54
+ if /usr/libexec/PlistBuddy -c "Set :CFBundleIdentifier $BUNDLE_ID" "$PLIST"; then
55
+ echo "✅ CFBundleIdentifier updated."
56
+ else
57
+ echo "â„šī¸ CFBundleIdentifier not found, adding..."
58
+ /usr/libexec/PlistBuddy -c "Add :CFBundleIdentifier string $BUNDLE_ID" "$PLIST"
59
+ echo "✅ CFBundleIdentifier added."
60
+ fi
61
+
62
+ echo "🔏 Re-signing app (ad-hoc signature)..."
63
+ codesign --force --deep --sign - "$APP"
64
+
65
+ # === Step 4: Create separate data folders ===
66
+ echo "📂 Creating data dir: $DATA_DIR ..."
67
+ mkdir -p "$DATA_DIR"
68
+
69
+ # === Step 5: Launch ===
70
+ echo "🚀 Launching $NEW_APP_NAME..."
71
+ open -n "$APP" --args --user-data-dir "$DATA_DIR"
72
+
73
+ echo "✅ Done."
74
+
@@ -0,0 +1,69 @@
1
+ #!/usr/bin/env bash
2
+ set -euo pipefail
3
+
4
+ # OS guard – must be macOS
5
+ if [ "$(uname)" != "Darwin" ]; then
6
+ echo "This command only works on macOS." >&2
7
+ exit 1
8
+ fi
9
+
10
+ # === Parse arguments ===
11
+ SKIP_CONFIRM=false
12
+ NEW_APP_NAME=""
13
+
14
+ while [[ $# -gt 0 ]]; do
15
+ case "$1" in
16
+ -y|--yes|--force)
17
+ SKIP_CONFIRM=true
18
+ shift
19
+ ;;
20
+ *)
21
+ NEW_APP_NAME="$1"
22
+ shift
23
+ ;;
24
+ esac
25
+ done
26
+
27
+ if [ -z "$NEW_APP_NAME" ]; then
28
+ echo "Usage: $0 [-y|--yes] \"App Name (e.g. Cursor Enterprise)\"" >&2
29
+ exit 1
30
+ fi
31
+
32
+ APP_PATH="$HOME/Applications/$NEW_APP_NAME.app"
33
+ DATA_DIR="$HOME/Library/Application Support/${NEW_APP_NAME// /}"
34
+
35
+ echo "This will remove:"
36
+ echo " App bundle: $APP_PATH"
37
+ echo " Data dir: $DATA_DIR"
38
+ echo
39
+
40
+ # Skip confirmation if --yes flag is provided
41
+ if [ "$SKIP_CONFIRM" = true ]; then
42
+ ans="y"
43
+ else
44
+ read -r -p "Are you sure? [y/N] " ans
45
+ fi
46
+
47
+ case "$ans" in
48
+ y|Y|yes|YES)
49
+ if [ -d "$APP_PATH" ]; then
50
+ echo "🗑 Removing app bundle..."
51
+ rm -rf "$APP_PATH"
52
+ else
53
+ echo "â„šī¸ App not found, skipping: $APP_PATH"
54
+ fi
55
+
56
+ if [ -d "$DATA_DIR" ]; then
57
+ echo "🗑 Removing data directory..."
58
+ rm -rf "$DATA_DIR"
59
+ else
60
+ echo "â„šī¸ Data dir not found, skipping: $DATA_DIR"
61
+ fi
62
+
63
+ echo "✅ Cleanup complete."
64
+ ;;
65
+ *)
66
+ echo "Cancelled."
67
+ exit 0
68
+ ;;
69
+ esac