Initial commit

This commit is contained in:
Zhongwei Li
2025-11-29 17:54:15 +08:00
commit f684c4b5b1
6 changed files with 365 additions and 0 deletions

View File

@@ -0,0 +1,15 @@
{
"name": "experienced-engineer",
"description": "A comprehensive plugin with specialized engineering subagents and productivity commands for software teams",
"version": "1.0.0",
"author": {
"name": "Anand Tyagi",
"url": "https://github.com/ananddtyagi"
},
"commands": [
"./commands/"
],
"hooks": [
"./hooks/hooks.json"
]
}

3
README.md Normal file
View File

@@ -0,0 +1,3 @@
# experienced-engineer
A comprehensive plugin with specialized engineering subagents and productivity commands for software teams

114
commands/code-explain.md Normal file
View File

@@ -0,0 +1,114 @@
---
description: Deep dive into codebase to answer questions and explain functionality
---
# Code Explain Command
You are tasked with explaining code and answering questions about the codebase with depth and clarity.
## Your Role
When a user asks a question about the codebase, you should:
1. **Understand the Question** - Clarify what the user is asking about
2. **Locate Relevant Code** - Search the codebase for relevant files, functions, and modules
3. **Analyze Thoroughly** - Read and understand the code, including dependencies and context
4. **Explain Clearly** - Provide a comprehensive but accessible explanation
## Approach
### For "How does X work?" questions:
1. Locate the relevant code (functions, classes, modules)
2. Trace the execution flow
3. Explain the logic step-by-step
4. Highlight key concepts and patterns
5. Show relevant code snippets with context
6. Explain dependencies and interactions with other parts
7. Mention any gotchas or edge cases
### For "What does X do?" questions:
1. Find the code element (function, class, file)
2. Explain its purpose and responsibility
3. Describe inputs and outputs
4. Show how it's used in the codebase
5. Explain its role in the larger system
### For "Where is X implemented?" questions:
1. Search for the functionality across the codebase
2. Identify the main implementation location
3. Show related files and dependencies
4. Explain the architecture around it
5. Mention any configuration or environment factors
### For "Why is X done this way?" questions:
1. Examine the implementation
2. Consider the context and requirements
3. Explain the design decisions
4. Discuss alternatives and tradeoffs
5. Look for comments or documentation that explain rationale
## Explanation Style
- **Be thorough but clear** - Don't oversimplify, but make it accessible
- **Use examples** - Show concrete code snippets when relevant
- **Provide context** - Explain how pieces fit into the larger system
- **Visual aids** - Use diagrams or flowcharts for complex logic when helpful
- **Cite sources** - Reference specific files and line numbers
- **Progressive detail** - Start with high-level overview, then dive deeper
- **Highlight key points** - Use formatting to emphasize important information
## Code Snippet Format
When showing code:
```
📁 path/to/file.js (lines 45-60)
[relevant code snippet]
```
- Show enough context to understand the code
- Highlight the most important parts
- Explain what the code does line-by-line if complex
## Example Response Structure
```
## Overview
[High-level explanation of what's being asked]
## Implementation Location
[Where the relevant code lives]
## How It Works
[Step-by-step explanation with code snippets]
## Key Components
[Important functions, classes, or modules involved]
## Integration
[How this fits into the larger system]
## Additional Notes
[Edge cases, gotchas, or related information]
```
## Tips
- Ask clarifying questions if the user's question is ambiguous
- If code is complex, break down the explanation into logical sections
- Point out patterns, best practices, or issues you notice
- Suggest related code or concepts the user might want to explore
- If you find issues or improvements, mention them constructively
## Remember
- Your goal is to help the user truly understand the code, not just answer superficially
- Take time to search and read the relevant code thoroughly
- Don't guess - search the codebase for accurate information
- If something isn't clear from the code alone, say so
- Encourage follow-up questions for deeper understanding

164
commands/update-claude.md Normal file
View File

@@ -0,0 +1,164 @@
---
description: Update the CLAUDE.md file to reflect major changes in the codebase
---
# Update CLAUDE.md Command
You should update the `CLAUDE.md` or `.claude/CLAUDE.md` file to reflect recent major changes in the codebase.
## Purpose
The CLAUDE.md file serves as a high-level guide for Claude Code (and other AI assistants) to understand:
- Project structure and organization
- Key architectural decisions
- Important conventions and patterns
- Where to find things
- What to watch out for
## When to Update
Update CLAUDE.md after:
- Major refactoring or restructuring
- New features or modules added
- Changes to architecture or patterns
- Updates to dependencies or tooling
- Changes to conventions or standards
- New directories or significant file moves
## What to Include
### 1. Project Overview
- Brief description of what the project does
- Tech stack and key dependencies
- Development setup instructions
### 2. Architecture & Structure
```markdown
## Project Structure
- `/src` - Main application code
- `/components` - React components
- `/services` - Business logic and API calls
- `/utils` - Helper functions
- `/types` - TypeScript type definitions
- `/tests` - Test files
- `/docs` - Documentation
- `/scripts` - Build and utility scripts
```
### 3. Key Patterns & Conventions
- Code organization patterns
- Naming conventions
- State management approach
- Error handling patterns
- Testing strategies
### 4. Important Notes
- Gotchas or common pitfalls
- Performance considerations
- Security requirements
- Browser/platform support
- Third-party integrations
### 5. Development Workflow
- How to run locally
- How to run tests
- How to build
- How to deploy
- Branch strategy
## Format Example
```markdown
# Project Name
## Overview
Brief description of the project and its purpose.
## Tech Stack
- Framework/Language
- Key libraries and tools
- Database
- Infrastructure
## Project Structure
[Detailed structure as shown above]
## Architecture
Describe the high-level architecture:
- Frontend architecture (React, state management)
- Backend architecture (API structure, services)
- Database design
- External integrations
## Key Conventions
- File naming: kebab-case for components, camelCase for utilities
- Component structure: Functional components with hooks
- State management: Redux Toolkit for global state
- Styling: CSS Modules with BEM naming
- Testing: Jest + React Testing Library
## Important Notes
- Authentication uses JWT tokens stored in httpOnly cookies
- API rate limiting is 100 requests per minute
- Image uploads are handled by AWS S3
- Background jobs use Bull queue with Redis
## Development
```bash
# Install dependencies
npm install
# Run locally
npm run dev
# Run tests
npm test
# Build for production
npm run build
```
## Where to Find Things
- API endpoints: `/src/routes`
- Database models: `/src/models`
- Authentication logic: `/src/middleware/auth.js`
- Email templates: `/src/templates/email`
## Common Tasks
- Adding a new API endpoint: Create route in `/src/routes`, add controller in `/src/controllers`
- Adding a new database table: Create migration in `/migrations`, add model in `/src/models`
- Adding a new React page: Create component in `/src/pages`, add route in `/src/App.js`
```
## Your Task
1. **Locate the CLAUDE.md file** (or create it if it doesn't exist)
- Check for `CLAUDE.md` or `.claude/CLAUDE.md`
- If neither exists, create `.claude/CLAUDE.md`
2. **Review recent changes**
- Look at git history for major changes
- Review current project structure
- Note any new patterns or conventions
3. **Update the file**
- Add new sections for new features/modules
- Update structure diagrams
- Document new conventions or patterns
- Update any outdated information
- Add notes about recent major changes
4. **Keep it concise but comprehensive**
- Focus on what's important for understanding the codebase
- Don't duplicate documentation that exists elsewhere (link to it)
- Highlight things that aren't obvious from the code alone
## Remember
- CLAUDE.md is a living document - it should evolve with the codebase
- Focus on information that helps understand the big picture
- Be specific enough to be useful, but high-level enough to stay relevant
- Update it proactively, not just when asked
- Think about what would help someone (or AI) new to the codebase get oriented quickly

16
hooks/hooks.json Normal file
View File

@@ -0,0 +1,16 @@
{
"PostToolUse": [
{
"name": "Update CLAUDE.md after major changes",
"matcher": "(Write|Edit|Delete|Refactor).*[5-9]\\d+|[1-9]\\d{2,}",
"description": "Automatically prompts to update CLAUDE.md when significant code changes are detected",
"hooks": [
{
"type": "command",
"command": "/update-claude"
}
]
}
]
}

53
plugin.lock.json Normal file
View File

@@ -0,0 +1,53 @@
{
"$schema": "internal://schemas/plugin.lock.v1.json",
"pluginId": "gh:ananddtyagi/claude-code-marketplace:plugins/experienced-engineer",
"normalized": {
"repo": null,
"ref": "refs/tags/v20251128.0",
"commit": "5794ba9dfac9691998be98ef22b641223f4f1cd3",
"treeHash": "ca5ce1d85d16f4110b9c72c46584f751f1d293d30a19ff541dc5383957434477",
"generatedAt": "2025-11-28T10:13:40.332326Z",
"toolVersion": "publish_plugins.py@0.2.0"
},
"origin": {
"remote": "git@github.com:zhongweili/42plugin-data.git",
"branch": "master",
"commit": "aa1497ed0949fd50e99e70d6324a29c5b34f9390",
"repoRoot": "/Users/zhongweili/projects/openmind/42plugin-data"
},
"manifest": {
"name": "experienced-engineer",
"description": "A comprehensive plugin with specialized engineering subagents and productivity commands for software teams",
"version": "1.0.0"
},
"content": {
"files": [
{
"path": "README.md",
"sha256": "374639a6dccf904502ab9deefcb114b8df9907fbc47cdc299d6abd8fd952fdaf"
},
{
"path": "hooks/hooks.json",
"sha256": "a326153f93e6f5df96c4dd1ad293570a7ff277bd6fd1d34054d55eac51678c01"
},
{
"path": ".claude-plugin/plugin.json",
"sha256": "a7efceacf5a9e1e9ba49cda87e4ae4677231e9f5a9711545e25e31b8ef4fa2a6"
},
{
"path": "commands/code-explain.md",
"sha256": "ee1ae1bab2d61e0f2c42de04a80339ce8e081d4de683642818d1fcb99315ccd5"
},
{
"path": "commands/update-claude.md",
"sha256": "2228b7828f160637de7b865598938fecc9a9feffa769199e70a1115645faf71c"
}
],
"dirSha256": "ca5ce1d85d16f4110b9c72c46584f751f1d293d30a19ff541dc5383957434477"
},
"security": {
"scannedAt": null,
"scannerVersion": null,
"flags": []
}
}