From 2ec122e38ab651bd590a135cca89c1609b5523a2 Mon Sep 17 00:00:00 2001 From: "ecc-tools[bot]" <257055122+ecc-tools[bot]@users.noreply.github.com> Date: Fri, 3 Apr 2026 12:34:19 +0000 Subject: [PATCH] feat: add everything-claude-code ECC bundle (.claude/skills/everything-claude-code/SKILL.md) --- .../skills/everything-claude-code/SKILL.md | 490 +++--------------- 1 file changed, 71 insertions(+), 419 deletions(-) diff --git a/.claude/skills/everything-claude-code/SKILL.md b/.claude/skills/everything-claude-code/SKILL.md index 799c37f5..e7d8e7ff 100644 --- a/.claude/skills/everything-claude-code/SKILL.md +++ b/.claude/skills/everything-claude-code/SKILL.md @@ -1,442 +1,94 @@ ---- -name: everything-claude-code-conventions -description: Development conventions and patterns for everything-claude-code. JavaScript project with conventional commits. ---- +```markdown +# everything-claude-code Development Patterns -# Everything Claude Code Conventions - -> Generated from [affaan-m/everything-claude-code](https://github.com/affaan-m/everything-claude-code) on 2026-03-20 +> Auto-generated skill from repository analysis ## Overview +The `everything-claude-code` repository is a TypeScript codebase focused on modular, convention-driven development without reliance on a specific framework. It emphasizes clear, maintainable code and structured workflows for extending the ECC (everything-claude-code-conventions) bundle with new tools, skills, identity definitions, and commands. -This skill teaches Claude the development patterns and conventions used in everything-claude-code. +## Coding Conventions -## Tech Stack +### File Naming +- Use **camelCase** for file names. + - Example: `myComponent.ts`, `userProfile.test.ts` -- **Primary Language**: JavaScript -- **Architecture**: hybrid module organization -- **Test Location**: separate +### Import Style +- Use **relative imports** for internal modules. + ```typescript + import { myFunction } from './utils'; + ``` -## When to Use This Skill +### Export Style +- Use **named exports** for all modules. + ```typescript + // Good + export function doSomething() { ... } -Activate this skill when: -- Making changes to this repository -- Adding new features following established patterns -- Writing tests that match project conventions -- Creating commits with proper message format + // Avoid default exports + // export default function() { ... } + ``` -## Commit Conventions +### Commit Messages +- Follow **conventional commit** style. +- Use the `feat` prefix for new features. + - Example: `feat: add user authentication module` -Follow these commit message conventions based on 500 analyzed commits. +## Workflows -### Commit Style: Conventional Commits +### Add ECC Bundle Component +**Trigger:** When someone wants to extend the ECC bundle with a new convention, tool, skill, or command. +**Command:** `/add-ecc-bundle-component` -### Prefixes Used +1. **Identify** the type of component to add (tool, skill, identity, command). +2. **Create or update** the relevant file in the appropriate directory: + - Tools: `.claude/ecc-tools.json` + - Skills: `.claude/skills/everything-claude-code/SKILL.md` or `.agents/skills/everything-claude-code/SKILL.md` + - Identity: `.claude/identity.json` + - Commands: `.claude/commands/*.md` +3. **Commit** the changes with a message indicating the addition to the ECC bundle. + - Example: `feat: add new skill to ECC bundle` +4. **Push** your changes and open a pull request if required. -- `fix` -- `test` -- `feat` -- `docs` +**Files Involved:** +- `.claude/ecc-tools.json` +- `.claude/skills/everything-claude-code/SKILL.md` +- `.agents/skills/everything-claude-code/SKILL.md` +- `.claude/identity.json` +- `.claude/commands/feature-development.md` +- `.claude/commands/add-ecc-bundle-component.md` -### Message Guidelines +#### Example: Adding a New Skill -- Average message length: ~65 characters -- Keep first line concise and descriptive -- Use imperative mood ("Add feature" not "Added feature") +1. Create a new skill file: `.claude/skills/everything-claude-code/myNewSkill.md` +2. Add documentation and usage details. +3. Commit: + ``` + feat: add myNewSkill to ECC bundle + ``` +4. Push and submit for review. +## Testing Patterns -*Commit message example* - -```text -feat(rules): add C# language support -``` - -*Commit message example* - -```text -chore(deps-dev): bump flatted (#675) -``` - -*Commit message example* - -```text -fix: auto-detect ECC root from plugin cache when CLAUDE_PLUGIN_ROOT is unset (#547) (#691) -``` - -*Commit message example* - -```text -docs: add Antigravity setup and usage guide (#552) -``` - -*Commit message example* - -```text -merge: PR #529 — feat(skills): add documentation-lookup, bun-runtime, nextjs-turbopack; feat(agents): add rust-reviewer -``` - -*Commit message example* - -```text -Revert "Add Kiro IDE support (.kiro/) (#548)" -``` - -*Commit message example* - -```text -Add Kiro IDE support (.kiro/) (#548) -``` - -*Commit message example* - -```text -feat: add block-no-verify hook for Claude Code and Cursor (#649) -``` - -## Architecture - -### Project Structure: Single Package - -This project uses **hybrid** module organization. - -### Configuration Files - -- `.github/workflows/ci.yml` -- `.github/workflows/maintenance.yml` -- `.github/workflows/monthly-metrics.yml` -- `.github/workflows/release.yml` -- `.github/workflows/reusable-release.yml` -- `.github/workflows/reusable-test.yml` -- `.github/workflows/reusable-validate.yml` -- `.opencode/package.json` -- `.opencode/tsconfig.json` -- `.prettierrc` -- `eslint.config.js` -- `package.json` - -### Guidelines - -- This project uses a hybrid organization -- Follow existing patterns when adding new code - -## Code Style - -### Language: JavaScript - -### Naming Conventions - -| Element | Convention | -|---------|------------| -| Files | camelCase | -| Functions | camelCase | -| Classes | PascalCase | -| Constants | SCREAMING_SNAKE_CASE | - -### Import Style: Relative Imports - -### Export Style: Mixed Style - - -*Preferred import style* +- **Test files** use the pattern: `*.test.*` + - Example: `userProfile.test.ts` +- **Testing framework** is not explicitly defined; follow the existing test file structure. +- Place tests alongside the modules they test or in a dedicated `tests/` directory if present. ```typescript -// Use relative imports -import { Button } from '../components/Button' -import { useAuth } from './hooks/useAuth' +// Example test file: userProfile.test.ts +import { getUserProfile } from './userProfile'; + +describe('getUserProfile', () => { + it('returns correct profile data', () => { + // test implementation + }); +}); ``` -## Testing +## Commands -### Test Framework +| Command | Purpose | +|----------------------------|-----------------------------------------------------------------| +| /add-ecc-bundle-component | Add a new tool, skill, identity, or command to the ECC bundle | -No specific test framework detected — use the repository's existing test patterns. - -### File Pattern: `*.test.js` - -### Test Types - -- **Unit tests**: Test individual functions and components in isolation -- **Integration tests**: Test interactions between multiple components/services - -### Coverage - -This project has coverage reporting configured. Aim for 80%+ coverage. - - -## Error Handling - -### Error Handling Style: Try-Catch Blocks - - -*Standard error handling pattern* - -```typescript -try { - const result = await riskyOperation() - return result -} catch (error) { - console.error('Operation failed:', error) - throw new Error('User-friendly message') -} -``` - -## Common Workflows - -These workflows were detected from analyzing commit patterns. - -### Database Migration - -Database schema changes with migration files - -**Frequency**: ~2 times per month - -**Steps**: -1. Create migration file -2. Update schema definitions -3. Generate/update types - -**Files typically involved**: -- `**/schema.*` -- `migrations/*` - -**Example commit sequence**: -``` -feat: implement --with/--without selective install flags (#679) -fix: sync catalog counts with filesystem (27 agents, 113 skills, 58 commands) (#693) -feat(rules): add Rust language rules (rebased #660) (#686) -``` - -### Feature Development - -Standard feature implementation workflow - -**Frequency**: ~22 times per month - -**Steps**: -1. Add feature implementation -2. Add tests for feature -3. Update documentation - -**Files typically involved**: -- `manifests/*` -- `schemas/*` -- `**/*.test.*` -- `**/api/**` - -**Example commit sequence**: -``` -feat(skills): add documentation-lookup, bun-runtime, nextjs-turbopack; feat(agents): add rust-reviewer -docs(skills): align documentation-lookup with CONTRIBUTING template; add cross-harness (Codex/Cursor) skill copies -fix: address PR review — skill template (When to use, How it works, Examples), bun.lock, next build note, rust-reviewer CI note, doc-lookup privacy/uncertainty -``` - -### Add Language Rules - -Adds a new programming language to the rules system, including coding style, hooks, patterns, security, and testing guidelines. - -**Frequency**: ~2 times per month - -**Steps**: -1. Create a new directory under rules/{language}/ -2. Add coding-style.md, hooks.md, patterns.md, security.md, and testing.md files with language-specific content -3. Optionally reference or link to related skills - -**Files typically involved**: -- `rules/*/coding-style.md` -- `rules/*/hooks.md` -- `rules/*/patterns.md` -- `rules/*/security.md` -- `rules/*/testing.md` - -**Example commit sequence**: -``` -Create a new directory under rules/{language}/ -Add coding-style.md, hooks.md, patterns.md, security.md, and testing.md files with language-specific content -Optionally reference or link to related skills -``` - -### Add New Skill - -Adds a new skill to the system, documenting its workflow, triggers, and usage, often with supporting scripts. - -**Frequency**: ~4 times per month - -**Steps**: -1. Create a new directory under skills/{skill-name}/ -2. Add SKILL.md with documentation (When to Use, How It Works, Examples, etc.) -3. Optionally add scripts or supporting files under skills/{skill-name}/scripts/ -4. Address review feedback and iterate on documentation - -**Files typically involved**: -- `skills/*/SKILL.md` -- `skills/*/scripts/*.sh` -- `skills/*/scripts/*.js` - -**Example commit sequence**: -``` -Create a new directory under skills/{skill-name}/ -Add SKILL.md with documentation (When to Use, How It Works, Examples, etc.) -Optionally add scripts or supporting files under skills/{skill-name}/scripts/ -Address review feedback and iterate on documentation -``` - -### Add New Agent - -Adds a new agent to the system for code review, build resolution, or other automated tasks. - -**Frequency**: ~2 times per month - -**Steps**: -1. Create a new agent markdown file under agents/{agent-name}.md -2. Register the agent in AGENTS.md -3. Optionally update README.md and docs/COMMAND-AGENT-MAP.md - -**Files typically involved**: -- `agents/*.md` -- `AGENTS.md` -- `README.md` -- `docs/COMMAND-AGENT-MAP.md` - -**Example commit sequence**: -``` -Create a new agent markdown file under agents/{agent-name}.md -Register the agent in AGENTS.md -Optionally update README.md and docs/COMMAND-AGENT-MAP.md -``` - -### Add New Command - -Adds a new command to the system, often paired with a backing skill. - -**Frequency**: ~1 times per month - -**Steps**: -1. Create a new markdown file under commands/{command-name}.md -2. Optionally add or update a backing skill under skills/{skill-name}/SKILL.md - -**Files typically involved**: -- `commands/*.md` -- `skills/*/SKILL.md` - -**Example commit sequence**: -``` -Create a new markdown file under commands/{command-name}.md -Optionally add or update a backing skill under skills/{skill-name}/SKILL.md -``` - -### Sync Catalog Counts - -Synchronizes the documented counts of agents, skills, and commands in AGENTS.md and README.md with the actual repository state. - -**Frequency**: ~3 times per month - -**Steps**: -1. Update agent, skill, and command counts in AGENTS.md -2. Update the same counts in README.md (quick-start, comparison table, etc.) -3. Optionally update other documentation files - -**Files typically involved**: -- `AGENTS.md` -- `README.md` - -**Example commit sequence**: -``` -Update agent, skill, and command counts in AGENTS.md -Update the same counts in README.md (quick-start, comparison table, etc.) -Optionally update other documentation files -``` - -### Add Cross Harness Skill Copies - -Adds skill copies for different agent harnesses (e.g., Codex, Cursor, Antigravity) to ensure compatibility across platforms. - -**Frequency**: ~2 times per month - -**Steps**: -1. Copy or adapt SKILL.md to .agents/skills/{skill}/SKILL.md and/or .cursor/skills/{skill}/SKILL.md -2. Optionally add harness-specific openai.yaml or config files -3. Address review feedback to align with CONTRIBUTING template - -**Files typically involved**: -- `.agents/skills/*/SKILL.md` -- `.cursor/skills/*/SKILL.md` -- `.agents/skills/*/agents/openai.yaml` - -**Example commit sequence**: -``` -Copy or adapt SKILL.md to .agents/skills/{skill}/SKILL.md and/or .cursor/skills/{skill}/SKILL.md -Optionally add harness-specific openai.yaml or config files -Address review feedback to align with CONTRIBUTING template -``` - -### Add Or Update Hook - -Adds or updates git or bash hooks to enforce workflow, quality, or security policies. - -**Frequency**: ~1 times per month - -**Steps**: -1. Add or update hook scripts in hooks/ or scripts/hooks/ -2. Register the hook in hooks/hooks.json or similar config -3. Optionally add or update tests in tests/hooks/ - -**Files typically involved**: -- `hooks/*.hook` -- `hooks/hooks.json` -- `scripts/hooks/*.js` -- `tests/hooks/*.test.js` -- `.cursor/hooks.json` - -**Example commit sequence**: -``` -Add or update hook scripts in hooks/ or scripts/hooks/ -Register the hook in hooks/hooks.json or similar config -Optionally add or update tests in tests/hooks/ -``` - -### Address Review Feedback - -Addresses code review feedback by updating documentation, scripts, or configuration for clarity, correctness, or convention alignment. - -**Frequency**: ~4 times per month - -**Steps**: -1. Edit SKILL.md, agent, or command files to address reviewer comments -2. Update examples, headings, or configuration as requested -3. Iterate until all review feedback is resolved - -**Files typically involved**: -- `skills/*/SKILL.md` -- `agents/*.md` -- `commands/*.md` -- `.agents/skills/*/SKILL.md` -- `.cursor/skills/*/SKILL.md` - -**Example commit sequence**: -``` -Edit SKILL.md, agent, or command files to address reviewer comments -Update examples, headings, or configuration as requested -Iterate until all review feedback is resolved -``` - - -## Best Practices - -Based on analysis of the codebase, follow these practices: - -### Do - -- Use conventional commit format (feat:, fix:, etc.) -- Follow *.test.js naming pattern -- Use camelCase for file names -- Prefer mixed exports - -### Don't - -- Don't write vague commit messages -- Don't skip tests for new features -- Don't deviate from established patterns without discussion - ---- - -*This skill was auto-generated by [ECC Tools](https://ecc.tools). Review and customize as needed for your team.* +``` \ No newline at end of file