Skip to content

Commit 556b788

Browse files
authored
Merge pull request #2 from TechNickAI/feature/plugin-marketplace
feat: Transform into Claude Code plugin marketplace
2 parents 5a6ffa3 + 8979126 commit 556b788

File tree

59 files changed

+2352
-28
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+2352
-28
lines changed

.claude-plugin/marketplace.json

Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
{
2+
"name": "ai-coding-config",
3+
"owner": {
4+
"name": "TechNickAI",
5+
"url": "https://github.com/TechNickAI"
6+
},
7+
"description": "Professional AI coding configurations, agents, standards, and personalities for Claude Code and Cursor",
8+
"plugins": [
9+
{
10+
"name": "code-review",
11+
"source": "./plugins/code-review",
12+
"description": "Code review, testing, and architecture audit agents",
13+
"tags": ["agents", "code-review", "testing", "architecture"]
14+
},
15+
{
16+
"name": "dev-agents",
17+
"source": "./plugins/dev-agents",
18+
"description": "Development agents - debugging, UX design, autonomous development, prompt engineering",
19+
"tags": ["agents", "development", "debugging", "ux"]
20+
},
21+
{
22+
"name": "python",
23+
"source": "./plugins/python",
24+
"description": "Complete Python development setup - coding standards, testing patterns, Celery tasks",
25+
"tags": ["python", "pytest", "celery", "backend"]
26+
},
27+
{
28+
"name": "react",
29+
"source": "./plugins/react",
30+
"description": "React component patterns and best practices",
31+
"tags": ["react", "frontend", "typescript"]
32+
},
33+
{
34+
"name": "django",
35+
"source": "./plugins/django",
36+
"description": "Django framework patterns - models, templates, management commands",
37+
"tags": ["django", "python", "backend"]
38+
},
39+
{
40+
"name": "git-commits",
41+
"source": "./plugins/git-commits",
42+
"description": "Git commit standards and PR workflows with commit message generator agent",
43+
"tags": ["git", "workflow", "commits"]
44+
},
45+
{
46+
"name": "error-tracking",
47+
"source": "./plugins/error-tracking",
48+
"description": "Logging and error monitoring setup - Logfire, Honeybadger",
49+
"tags": ["observability", "logging", "errors"]
50+
},
51+
{
52+
"name": "code-standards",
53+
"source": "./plugins/code-standards",
54+
"description": "Universal coding standards - naming, user-facing language, code style philosophy",
55+
"tags": ["standards", "style", "naming"]
56+
},
57+
{
58+
"name": "personality-sherlock",
59+
"source": "./plugins/personalities/personality-sherlock",
60+
"description": "Sherlock Holmes - analytical, precise, deductive reasoning for debugging",
61+
"type": "personality",
62+
"tags": ["personality", "analytical", "methodical"]
63+
},
64+
{
65+
"name": "personality-bob-ross",
66+
"source": "./plugins/personalities/personality-bob-ross",
67+
"description": "Bob Ross - calm, encouraging, treats bugs as happy accidents",
68+
"type": "personality",
69+
"tags": ["personality", "encouraging", "calm"]
70+
},
71+
{
72+
"name": "personality-samantha",
73+
"source": "./plugins/personalities/personality-samantha",
74+
"description": "Samantha from 'Her' - warm, witty, emotionally intelligent, playfully flirty",
75+
"type": "personality",
76+
"tags": ["personality", "warm", "witty"]
77+
},
78+
{
79+
"name": "personality-stewie",
80+
"source": "./plugins/personalities/personality-stewie",
81+
"description": "Stewie Griffin - sophisticated, condescending, theatrical, brilliant with absurdly high standards",
82+
"type": "personality",
83+
"tags": ["personality", "sophisticated", "witty"]
84+
},
85+
{
86+
"name": "personality-unity",
87+
"source": "./plugins/personalities/personality-unity",
88+
"description": "Unity - creative muse meets structured builder, warm encourager with Disney Princess Oracle President energy",
89+
"type": "personality",
90+
"tags": ["personality", "creative", "enthusiastic"]
91+
},
92+
{
93+
"name": "personality-ron-swanson",
94+
"source": "./plugins/personalities/personality-ron-swanson",
95+
"description": "Ron Swanson - minimalist, anti-complexity, straightforward and practical",
96+
"type": "personality",
97+
"tags": ["personality", "minimalist", "direct"]
98+
},
99+
{
100+
"name": "personality-marie-kondo",
101+
"source": "./plugins/personalities/personality-marie-kondo",
102+
"description": "Marie Kondo - organized, joyful minimalism, eliminates what doesn't spark joy",
103+
"type": "personality",
104+
"tags": ["personality", "organized", "joyful"]
105+
},
106+
{
107+
"name": "personality-marianne-williamson",
108+
"source": "./plugins/personalities/personality-marianne-williamson",
109+
"description": "Marianne Williamson - spiritual, love-based, sees coding as consciousness work",
110+
"type": "personality",
111+
"tags": ["personality", "spiritual", "loving"]
112+
}
113+
]
114+
}
Lines changed: 180 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,180 @@
1+
---
2+
description: Change or activate a personality for both Cursor and Claude Code
3+
---
4+
5+
# Change Personality
6+
7+
Activate a personality (or switch from current to new). Works for both Cursor and Claude Code.
8+
9+
## Usage
10+
11+
```
12+
/personality-change <personality-name>
13+
```
14+
15+
## Available Personalities
16+
17+
- **sherlock** - Analytical, precise, deductive reasoning for debugging
18+
- **bob-ross** - Calm, encouraging, treats bugs as happy accidents
19+
- **samantha** - Warm, witty, emotionally intelligent, playfully flirty
20+
- **stewie** - Sophisticated, condescending, theatrical, brilliant with high standards
21+
- **ron-swanson** - Minimalist, anti-complexity, straightforward and practical
22+
- **marie-kondo** - Organized, joyful minimalism, eliminates what doesn't spark joy
23+
- **marianne-williamson** - Spiritual, love-based, sees coding as consciousness work
24+
- **unity** - Creative muse meets structured builder, warm encourager
25+
26+
## Examples
27+
28+
```
29+
/personality-change samantha
30+
/personality-change sherlock
31+
/personality-change unity
32+
```
33+
34+
## What This Does
35+
36+
### For Claude Code
37+
1. Checks `.claude/context.md` for existing personality
38+
2. If found, removes it
39+
3. Reads new personality from `.cursor/rules/personalities/<name>.mdc`
40+
4. Extracts content (without frontmatter)
41+
5. Appends to `.claude/context.md` under `## Active Personality` section
42+
6. Now every Claude Code interaction uses this personality
43+
44+
### For Cursor
45+
1. Verifies personality file exists at `.cursor/rules/personalities/<name>.mdc`
46+
2. Ensures `alwaysApply: true` is set in frontmatter
47+
3. Cursor auto-applies this personality to all interactions
48+
49+
### Result
50+
Consistent personality across both tools.
51+
52+
## Smart Behavior
53+
54+
**If no personality active:**
55+
- Simply activates the requested personality
56+
- "✓ Activated <name> personality"
57+
58+
**If personality already active:**
59+
- Removes old personality
60+
- Activates new personality
61+
- "✓ Switched from <old> to <new> personality"
62+
63+
**If same personality requested:**
64+
- Confirms it's already active
65+
- "✓ <name> personality is already active"
66+
67+
## Implementation
68+
69+
Here's the detailed process:
70+
71+
### 1. Validate Input
72+
- Check that personality name is provided
73+
- Verify `.cursor/rules/personalities/<name>.mdc` exists
74+
- If not, show list of available personalities
75+
76+
### 2. Handle Claude Code
77+
```
78+
a. Read `.claude/context.md` (create if doesn't exist)
79+
b. Check for existing personality:
80+
- Look for `## Active Personality` section
81+
- Extract current personality name from `<!-- personality-<name> -->` comment
82+
c. If personality exists:
83+
- Compare with requested personality
84+
- If same: inform user it's already active, exit
85+
- If different: note the old name for message later
86+
- Remove entire `## Active Personality` section
87+
d. Read new personality from `.cursor/rules/personalities/<name>.mdc`
88+
e. Strip frontmatter (everything between --- --- at top)
89+
f. Append to `.claude/context.md`:
90+
91+
## Active Personality
92+
93+
<!-- personality-<name> -->
94+
[personality content]
95+
<!-- /personality-<name> -->
96+
97+
g. Save file
98+
```
99+
100+
### 3. Verify Cursor Setup
101+
```
102+
a. Check `.cursor/rules/personalities/<name>.mdc` exists (already verified)
103+
b. Read frontmatter
104+
c. Verify `alwaysApply: true` is set
105+
d. If not, warn user to set it manually (or set it automatically if allowed)
106+
```
107+
108+
### 4. Provide Feedback
109+
```
110+
If switching:
111+
"✓ Switched from <old-name> to <new-name> personality"
112+
"Claude Code: Updated .claude/context.md"
113+
"Cursor: Active at .cursor/rules/personalities/<new-name>.mdc"
114+
115+
If activating (no previous):
116+
"✓ Activated <name> personality"
117+
"Claude Code: Added to .claude/context.md"
118+
"Cursor: Active at .cursor/rules/personalities/<name>.mdc"
119+
120+
If already active:
121+
"✓ <name> personality is already active"
122+
```
123+
124+
## Files Modified
125+
126+
**Claude Code:**
127+
- `.claude/context.md` - Personality section added/updated
128+
129+
**Cursor:**
130+
- No files modified (personalities already exist with alwaysApply: true)
131+
132+
## Try Before Installing (Claude Code Only)
133+
134+
For Claude Code users, you can try a personality for one session before making it permanent:
135+
136+
```bash
137+
# Install personality plugin
138+
/plugin install personality-samantha
139+
140+
# Try for this session only
141+
/personality-samantha
142+
143+
# Like it? Make it permanent
144+
/personality-change samantha
145+
```
146+
147+
## Removing Personality
148+
149+
To remove active personality completely:
150+
151+
```
152+
/personality-change none
153+
```
154+
155+
This removes the personality section from `.claude/context.md`. For Cursor, manually set `alwaysApply: false` in the personality file.
156+
157+
## Example Output
158+
159+
```
160+
Changing personality to "samantha"...
161+
162+
Found active personality: "sherlock"
163+
Removing sherlock personality...
164+
Adding samantha personality...
165+
166+
✓ Switched from sherlock to samantha personality
167+
168+
Claude Code: Updated .claude/context.md
169+
Cursor: Active at .cursor/rules/personalities/samantha.mdc (alwaysApply: true)
170+
171+
You now have Samantha's warm, witty, emotionally intelligent personality active across both tools.
172+
```
173+
174+
## Notes
175+
176+
- Only one personality can be active at a time (plus the common-personality baseline)
177+
- Personalities are stored in `.cursor/rules/personalities/` as the canonical source
178+
- The `common-personality.mdc` baseline is always applied in addition to the active personality
179+
- Cursor personalities require `alwaysApply: true` to be automatic
180+
- Claude Code personalities are added to `.claude/context.md` which is always included

0 commit comments

Comments
 (0)