mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-04-01 22:53:27 +08:00
Compare commits
15 Commits
main
...
ecc-tools/
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
61a00bdeb4 | ||
|
|
10c8cfee17 | ||
|
|
3d4395c79d | ||
|
|
52a51cef54 | ||
|
|
31d8015a32 | ||
|
|
fe0ddf2466 | ||
|
|
21941f579a | ||
|
|
5a23c13ff0 | ||
|
|
0dba0fe0d1 | ||
|
|
8aa1ca8a2b | ||
|
|
8e839bb0e5 | ||
|
|
9c25dbc397 | ||
|
|
b133a0d4dd | ||
|
|
ae04e63200 | ||
|
|
ce03755091 |
@@ -1,442 +1,173 @@
|
|||||||
---
|
```markdown
|
||||||
name: everything-claude-code-conventions
|
# everything-claude-code Development Patterns
|
||||||
description: Development conventions and patterns for everything-claude-code. JavaScript project with conventional commits.
|
|
||||||
---
|
|
||||||
|
|
||||||
# Everything Claude Code Conventions
|
> Auto-generated skill from repository analysis
|
||||||
|
|
||||||
> Generated from [affaan-m/everything-claude-code](https://github.com/affaan-m/everything-claude-code) on 2026-03-20
|
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
This skill teaches Claude the development patterns and conventions used in everything-claude-code.
|
This skill documents the core development patterns, coding conventions, and workflows used in the `everything-claude-code` JavaScript repository. It is designed to help contributors understand how to add new skills, agents, commands, install targets, and maintain the codebase according to established conventions. The repository is framework-agnostic, uses conventional commits, and supports modular extension via skills, agents, and command workflows.
|
||||||
|
|
||||||
## Tech Stack
|
## Coding Conventions
|
||||||
|
|
||||||
- **Primary Language**: JavaScript
|
- **File Naming:**
|
||||||
- **Architecture**: hybrid module organization
|
Use `camelCase` for JavaScript files (e.g., `installManifests.js`), and descriptive names for markdown/config files (e.g., `SKILL.md`, `install-modules.json`).
|
||||||
- **Test Location**: separate
|
|
||||||
|
|
||||||
## When to Use This Skill
|
- **Import Style:**
|
||||||
|
Use relative imports for modules:
|
||||||
|
```js
|
||||||
|
const registry = require('../lib/install-targets/registry');
|
||||||
|
```
|
||||||
|
|
||||||
Activate this skill when:
|
- **Export Style:**
|
||||||
- Making changes to this repository
|
Both CommonJS (`module.exports = ...`) and ES module (`export default ...`) styles may be used, depending on file context.
|
||||||
- Adding new features following established patterns
|
|
||||||
- Writing tests that match project conventions
|
|
||||||
- Creating commits with proper message format
|
|
||||||
|
|
||||||
## Commit Conventions
|
- **Commit Messages:**
|
||||||
|
Follow [Conventional Commits](https://www.conventionalcommits.org/) with prefixes such as `fix`, `feat`, `docs`, `chore`.
|
||||||
|
Example:
|
||||||
|
```
|
||||||
|
feat: add Gemini install target support
|
||||||
|
```
|
||||||
|
|
||||||
Follow these commit message conventions based on 500 analyzed commits.
|
- **Test Files:**
|
||||||
|
Test files follow the `*.test.js` pattern and are colocated with the code under test or in a `tests/` directory.
|
||||||
|
|
||||||
### Commit Style: Conventional Commits
|
## Workflows
|
||||||
|
|
||||||
### Prefixes Used
|
### Add New Install Target
|
||||||
|
**Trigger:** When supporting a new IDE, platform, or environment for ECC installation
|
||||||
|
**Command:** `/add-install-target`
|
||||||
|
|
||||||
- `fix`
|
1. Create a new install target script, e.g., `scripts/lib/install-targets/{target}-project.js`, `.{target}/install.sh`, or `.{target}/install.js`.
|
||||||
- `test`
|
2. Add documentation for the new target, such as `.{target}/README.md`, `.{target}/README.zh-CN.md`, or `.{target}/GEMINI.md`.
|
||||||
- `feat`
|
3. Update `manifests/install-modules.json` to register the new target.
|
||||||
- `docs`
|
4. Update schemas:
|
||||||
|
- `schemas/ecc-install-config.schema.json`
|
||||||
|
- `schemas/install-modules.schema.json`
|
||||||
|
5. Update logic in:
|
||||||
|
- `scripts/lib/install-manifests.js`
|
||||||
|
- `scripts/lib/install-targets/registry.js`
|
||||||
|
6. Add or update tests in `tests/lib/install-targets.test.js`.
|
||||||
|
7. Update `README.md` if public-facing install instructions change.
|
||||||
|
|
||||||
### Message Guidelines
|
**Example:**
|
||||||
|
```js
|
||||||
- Average message length: ~65 characters
|
// scripts/lib/install-targets/gemini-project.js
|
||||||
- Keep first line concise and descriptive
|
module.exports = function installGemini() {
|
||||||
- Use imperative mood ("Add feature" not "Added feature")
|
// Installation logic for Gemini
|
||||||
|
};
|
||||||
|
|
||||||
*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*
|
|
||||||
|
|
||||||
```typescript
|
|
||||||
// Use relative imports
|
|
||||||
import { Button } from '../components/Button'
|
|
||||||
import { useAuth } from './hooks/useAuth'
|
|
||||||
```
|
|
||||||
|
|
||||||
## Testing
|
|
||||||
|
|
||||||
### Test Framework
|
|
||||||
|
|
||||||
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.*
|
### Add New Skill or Agent
|
||||||
|
**Trigger:** When introducing a new capability, workflow, or agent persona
|
||||||
|
**Command:** `/add-skill`
|
||||||
|
|
||||||
|
1. Create a new `SKILL.md` in `skills/{skill-name}/` or `.agents/skills/{skill-name}/`.
|
||||||
|
2. For agents, add definitions in `agents/{agent-name}.md` or `.codex/agents/{agent-name}.toml`.
|
||||||
|
3. Update `manifests/install-modules.json` if the skill is installable.
|
||||||
|
4. Update `AGENTS.md` and/or `README.md` to document the new skill/agent.
|
||||||
|
5. Add supporting files as needed (e.g., `rules/`, `prompts/`, orchestration scripts).
|
||||||
|
6. If orchestration is needed, add a shell or JS orchestrator (e.g., `scripts/{skill-name}.sh`).
|
||||||
|
|
||||||
|
**Example:**
|
||||||
|
```markdown
|
||||||
|
# skills/mySkill/SKILL.md
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
Describes the "mySkill" capability for ECC.
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
...
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Add or Update Command Workflow
|
||||||
|
**Trigger:** When adding or improving CLI commands or workflows
|
||||||
|
**Command:** `/add-command`
|
||||||
|
|
||||||
|
1. Create or modify a command markdown file in `commands/{command-name}.md` or `.claude/commands/{command-name}.md`.
|
||||||
|
2. Add YAML frontmatter and sections for Purpose, Usage, and Output.
|
||||||
|
3. Iterate based on review feedback (fix placeholders, add error handling, clarify protocol).
|
||||||
|
4. Update related commands or documentation if part of a workflow.
|
||||||
|
5. Document artifact storage locations if applicable.
|
||||||
|
|
||||||
|
**Example:**
|
||||||
|
```markdown
|
||||||
|
---
|
||||||
|
name: install
|
||||||
|
description: Install a new ECC module
|
||||||
|
---
|
||||||
|
|
||||||
|
## Purpose
|
||||||
|
...
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
...
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Agent or Skill Bundle Import
|
||||||
|
**Trigger:** When bulk importing conventions, agent definitions, or skill documentation
|
||||||
|
**Command:** `/import-bundle`
|
||||||
|
|
||||||
|
1. Add multiple files in `.claude/commands/`, `.claude/enterprise/`, `.claude/team/`, `.claude/research/`, `.claude/rules/`, `.codex/agents/`, `.claude/skills/`, `.agents/skills/`, etc.
|
||||||
|
2. Include team config, identity, guardrails, research playbook, and skills documentation.
|
||||||
|
3. No code/test changes—just documentation and config import.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Dependency Update via Dependabot
|
||||||
|
**Trigger:** When Dependabot creates a PR for a new dependency version
|
||||||
|
**Command:** `/update-dependencies`
|
||||||
|
|
||||||
|
1. Update versions in `package.json`, `package-lock.json`, or `yarn.lock`.
|
||||||
|
2. Update `.github/workflows/*.yml` for GitHub Actions if needed.
|
||||||
|
3. Commit with a standard Dependabot message.
|
||||||
|
4. Update `.github/dependabot.yml` for configuration if necessary.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Refactor or Fix Skill or Agent
|
||||||
|
**Trigger:** When a skill/agent needs to be removed, merged, or reworked
|
||||||
|
**Command:** `/remove-skill`
|
||||||
|
|
||||||
|
1. Remove or modify `SKILL.md` in `skills/{skill-name}/` or `agents/{agent-name}.md`.
|
||||||
|
2. Update `manifests/install-modules.json` and documentation.
|
||||||
|
3. Restore or remove associated files as needed.
|
||||||
|
4. Document the reason for the change (e.g., security, redundancy).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Testing Patterns
|
||||||
|
|
||||||
|
- **Test Files:**
|
||||||
|
All test files use the `*.test.js` pattern.
|
||||||
|
- **Framework:**
|
||||||
|
No specific testing framework detected; use standard Node.js assertions or your preferred test runner.
|
||||||
|
- **Location:**
|
||||||
|
Tests are typically placed in a `tests/` directory or alongside the source files.
|
||||||
|
|
||||||
|
**Example:**
|
||||||
|
```js
|
||||||
|
// tests/lib/install-targets.test.js
|
||||||
|
const installGemini = require('../../scripts/lib/install-targets/gemini-project');
|
||||||
|
|
||||||
|
test('Gemini install target works', () => {
|
||||||
|
expect(installGemini()).toBeDefined();
|
||||||
|
});
|
||||||
|
```
|
||||||
|
|
||||||
|
## Commands
|
||||||
|
|
||||||
|
| Command | Purpose |
|
||||||
|
|---------------------|--------------------------------------------------------------|
|
||||||
|
| /add-install-target | Add support for a new install target (IDE/platform) |
|
||||||
|
| /add-skill | Add a new skill or agent to the ECC system |
|
||||||
|
| /add-command | Add or update a CLI command or workflow |
|
||||||
|
| /import-bundle | Bulk import agent/skill bundles or conventions documentation |
|
||||||
|
| /update-dependencies| Update dependencies via Dependabot |
|
||||||
|
| /remove-skill | Refactor, remove, or revert a skill or agent |
|
||||||
|
```
|
||||||
|
|||||||
42
.claude/commands/add-new-install-target.md
Normal file
42
.claude/commands/add-new-install-target.md
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
---
|
||||||
|
name: add-new-install-target
|
||||||
|
description: Workflow command scaffold for add-new-install-target in everything-claude-code.
|
||||||
|
allowed_tools: ["Bash", "Read", "Write", "Grep", "Glob"]
|
||||||
|
---
|
||||||
|
|
||||||
|
# /add-new-install-target
|
||||||
|
|
||||||
|
Use this workflow when working on **add-new-install-target** in `everything-claude-code`.
|
||||||
|
|
||||||
|
## Goal
|
||||||
|
|
||||||
|
Adds support for a new install target (e.g., Gemini, CodeBuddy) so ECC can be installed on a new platform or IDE.
|
||||||
|
|
||||||
|
## Common Files
|
||||||
|
|
||||||
|
- `manifests/install-modules.json`
|
||||||
|
- `schemas/ecc-install-config.schema.json`
|
||||||
|
- `schemas/install-modules.schema.json`
|
||||||
|
- `scripts/lib/install-manifests.js`
|
||||||
|
- `scripts/lib/install-targets/{target}-project.js`
|
||||||
|
- `scripts/lib/install-targets/registry.js`
|
||||||
|
|
||||||
|
## Suggested Sequence
|
||||||
|
|
||||||
|
1. Understand the current state and failure mode before editing.
|
||||||
|
2. Make the smallest coherent change that satisfies the workflow goal.
|
||||||
|
3. Run the most relevant verification for touched files.
|
||||||
|
4. Summarize what changed and what still needs review.
|
||||||
|
|
||||||
|
## Typical Commit Signals
|
||||||
|
|
||||||
|
- Create a new install target script (e.g., scripts/lib/install-targets/{target}-project.js, .{target}/install.sh, .{target}/install.js)
|
||||||
|
- Add documentation for the new target (e.g., .{target}/README.md, .{target}/README.zh-CN.md, .{target}/GEMINI.md)
|
||||||
|
- Update manifests/install-modules.json to register the new target
|
||||||
|
- Update schemas/ecc-install-config.schema.json and schemas/install-modules.schema.json for schema validation
|
||||||
|
- Update scripts/lib/install-manifests.js and scripts/lib/install-targets/registry.js to handle the new target
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
- Treat this as a scaffold, not a hard-coded script.
|
||||||
|
- Update the command if the workflow evolves materially.
|
||||||
42
.claude/commands/add-new-skill-or-agent.md
Normal file
42
.claude/commands/add-new-skill-or-agent.md
Normal file
@@ -0,0 +1,42 @@
|
|||||||
|
---
|
||||||
|
name: add-new-skill-or-agent
|
||||||
|
description: Workflow command scaffold for add-new-skill-or-agent in everything-claude-code.
|
||||||
|
allowed_tools: ["Bash", "Read", "Write", "Grep", "Glob"]
|
||||||
|
---
|
||||||
|
|
||||||
|
# /add-new-skill-or-agent
|
||||||
|
|
||||||
|
Use this workflow when working on **add-new-skill-or-agent** in `everything-claude-code`.
|
||||||
|
|
||||||
|
## Goal
|
||||||
|
|
||||||
|
Adds a new skill or agent to the ECC system, including documentation and registration.
|
||||||
|
|
||||||
|
## Common Files
|
||||||
|
|
||||||
|
- `skills/{skill-name}/SKILL.md`
|
||||||
|
- `.agents/skills/{skill-name}/SKILL.md`
|
||||||
|
- `agents/{agent-name}.md`
|
||||||
|
- `.codex/agents/{agent-name}.toml`
|
||||||
|
- `manifests/install-modules.json`
|
||||||
|
- `AGENTS.md`
|
||||||
|
|
||||||
|
## Suggested Sequence
|
||||||
|
|
||||||
|
1. Understand the current state and failure mode before editing.
|
||||||
|
2. Make the smallest coherent change that satisfies the workflow goal.
|
||||||
|
3. Run the most relevant verification for touched files.
|
||||||
|
4. Summarize what changed and what still needs review.
|
||||||
|
|
||||||
|
## Typical Commit Signals
|
||||||
|
|
||||||
|
- Create a new SKILL.md in skills/{skill-name}/ or .agents/skills/{skill-name}/
|
||||||
|
- If agent-based, add agent definition(s) in agents/{agent-name}.md or .codex/agents/{agent-name}.toml
|
||||||
|
- Update manifests/install-modules.json if the skill is installable
|
||||||
|
- Update AGENTS.md and/or README.md to reflect the new skill/agent
|
||||||
|
- If applicable, add supporting files (e.g., rules/, prompts/, or orchestration scripts)
|
||||||
|
|
||||||
|
## Notes
|
||||||
|
|
||||||
|
- Treat this as a scaffold, not a hard-coded script.
|
||||||
|
- Update the command if the workflow evolves materially.
|
||||||
@@ -14,10 +14,10 @@ Standard feature implementation workflow
|
|||||||
|
|
||||||
## Common Files
|
## Common Files
|
||||||
|
|
||||||
- `manifests/*`
|
- `skills/remotion-video-creation/rules/assets/*`
|
||||||
- `schemas/*`
|
- `.opencode/*`
|
||||||
|
- `.opencode/plugins/*`
|
||||||
- `**/*.test.*`
|
- `**/*.test.*`
|
||||||
- `**/api/**`
|
|
||||||
|
|
||||||
## Suggested Sequence
|
## Suggested Sequence
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
"version": "1.3",
|
"version": "1.3",
|
||||||
"schemaVersion": "1.0",
|
"schemaVersion": "1.0",
|
||||||
"generatedBy": "ecc-tools",
|
"generatedBy": "ecc-tools",
|
||||||
"generatedAt": "2026-03-20T12:07:36.496Z",
|
"generatedAt": "2026-04-01T00:56:01.731Z",
|
||||||
"repo": "https://github.com/affaan-m/everything-claude-code",
|
"repo": "https://github.com/affaan-m/everything-claude-code",
|
||||||
"profiles": {
|
"profiles": {
|
||||||
"requested": "full",
|
"requested": "full",
|
||||||
@@ -148,9 +148,9 @@
|
|||||||
".claude/research/everything-claude-code-research-playbook.md",
|
".claude/research/everything-claude-code-research-playbook.md",
|
||||||
".claude/team/everything-claude-code-team-config.json",
|
".claude/team/everything-claude-code-team-config.json",
|
||||||
".claude/enterprise/controls.md",
|
".claude/enterprise/controls.md",
|
||||||
".claude/commands/database-migration.md",
|
|
||||||
".claude/commands/feature-development.md",
|
".claude/commands/feature-development.md",
|
||||||
".claude/commands/add-language-rules.md"
|
".claude/commands/add-new-install-target.md",
|
||||||
|
".claude/commands/add-new-skill-or-agent.md"
|
||||||
],
|
],
|
||||||
"packageFiles": {
|
"packageFiles": {
|
||||||
"runtime-core": [
|
"runtime-core": [
|
||||||
@@ -178,9 +178,9 @@
|
|||||||
".claude/enterprise/controls.md"
|
".claude/enterprise/controls.md"
|
||||||
],
|
],
|
||||||
"workflow-pack": [
|
"workflow-pack": [
|
||||||
".claude/commands/database-migration.md",
|
|
||||||
".claude/commands/feature-development.md",
|
".claude/commands/feature-development.md",
|
||||||
".claude/commands/add-language-rules.md"
|
".claude/commands/add-new-install-target.md",
|
||||||
|
".claude/commands/add-new-skill-or-agent.md"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"moduleFiles": {
|
"moduleFiles": {
|
||||||
@@ -209,9 +209,9 @@
|
|||||||
".claude/enterprise/controls.md"
|
".claude/enterprise/controls.md"
|
||||||
],
|
],
|
||||||
"workflow-pack": [
|
"workflow-pack": [
|
||||||
".claude/commands/database-migration.md",
|
|
||||||
".claude/commands/feature-development.md",
|
".claude/commands/feature-development.md",
|
||||||
".claude/commands/add-language-rules.md"
|
".claude/commands/add-new-install-target.md",
|
||||||
|
".claude/commands/add-new-skill-or-agent.md"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"files": [
|
"files": [
|
||||||
@@ -285,11 +285,6 @@
|
|||||||
"path": ".claude/enterprise/controls.md",
|
"path": ".claude/enterprise/controls.md",
|
||||||
"description": "Enterprise governance scaffold for approvals, audit posture, and escalation."
|
"description": "Enterprise governance scaffold for approvals, audit posture, and escalation."
|
||||||
},
|
},
|
||||||
{
|
|
||||||
"moduleId": "workflow-pack",
|
|
||||||
"path": ".claude/commands/database-migration.md",
|
|
||||||
"description": "Workflow command scaffold for database-migration."
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"moduleId": "workflow-pack",
|
"moduleId": "workflow-pack",
|
||||||
"path": ".claude/commands/feature-development.md",
|
"path": ".claude/commands/feature-development.md",
|
||||||
@@ -297,22 +292,27 @@
|
|||||||
},
|
},
|
||||||
{
|
{
|
||||||
"moduleId": "workflow-pack",
|
"moduleId": "workflow-pack",
|
||||||
"path": ".claude/commands/add-language-rules.md",
|
"path": ".claude/commands/add-new-install-target.md",
|
||||||
"description": "Workflow command scaffold for add-language-rules."
|
"description": "Workflow command scaffold for add-new-install-target."
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"moduleId": "workflow-pack",
|
||||||
|
"path": ".claude/commands/add-new-skill-or-agent.md",
|
||||||
|
"description": "Workflow command scaffold for add-new-skill-or-agent."
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"workflows": [
|
"workflows": [
|
||||||
{
|
|
||||||
"command": "database-migration",
|
|
||||||
"path": ".claude/commands/database-migration.md"
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
"command": "feature-development",
|
"command": "feature-development",
|
||||||
"path": ".claude/commands/feature-development.md"
|
"path": ".claude/commands/feature-development.md"
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"command": "add-language-rules",
|
"command": "add-new-install-target",
|
||||||
"path": ".claude/commands/add-language-rules.md"
|
"path": ".claude/commands/add-new-install-target.md"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"command": "add-new-skill-or-agent",
|
||||||
|
"path": ".claude/commands/add-new-skill-or-agent.md"
|
||||||
}
|
}
|
||||||
],
|
],
|
||||||
"adapters": {
|
"adapters": {
|
||||||
@@ -320,9 +320,9 @@
|
|||||||
"skillPath": ".claude/skills/everything-claude-code/SKILL.md",
|
"skillPath": ".claude/skills/everything-claude-code/SKILL.md",
|
||||||
"identityPath": ".claude/identity.json",
|
"identityPath": ".claude/identity.json",
|
||||||
"commandPaths": [
|
"commandPaths": [
|
||||||
".claude/commands/database-migration.md",
|
|
||||||
".claude/commands/feature-development.md",
|
".claude/commands/feature-development.md",
|
||||||
".claude/commands/add-language-rules.md"
|
".claude/commands/add-new-install-target.md",
|
||||||
|
".claude/commands/add-new-skill-or-agent.md"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"codex": {
|
"codex": {
|
||||||
|
|||||||
@@ -10,5 +10,5 @@
|
|||||||
"javascript"
|
"javascript"
|
||||||
],
|
],
|
||||||
"suggestedBy": "ecc-tools-repo-analysis",
|
"suggestedBy": "ecc-tools-repo-analysis",
|
||||||
"createdAt": "2026-03-20T12:07:57.119Z"
|
"createdAt": "2026-04-01T00:56:53.890Z"
|
||||||
}
|
}
|
||||||
@@ -18,4 +18,4 @@ Use this when the task is documentation-heavy, source-sensitive, or requires bro
|
|||||||
|
|
||||||
- Primary language: JavaScript
|
- Primary language: JavaScript
|
||||||
- Framework: Not detected
|
- Framework: Not detected
|
||||||
- Workflows detected: 10
|
- Workflows detected: 7
|
||||||
@@ -4,7 +4,7 @@ Generated by ECC Tools from repository history. Review before treating it as a h
|
|||||||
|
|
||||||
## Commit Workflow
|
## Commit Workflow
|
||||||
|
|
||||||
- Prefer `conventional` commit messaging with prefixes such as fix, test, feat, docs.
|
- Prefer `conventional` commit messaging with prefixes such as fix, feat, docs, chore.
|
||||||
- Keep new changes aligned with the existing pull-request and review flow already present in the repo.
|
- Keep new changes aligned with the existing pull-request and review flow already present in the repo.
|
||||||
|
|
||||||
## Architecture
|
## Architecture
|
||||||
@@ -24,9 +24,9 @@ Generated by ECC Tools from repository history. Review before treating it as a h
|
|||||||
|
|
||||||
## Detected Workflows
|
## Detected Workflows
|
||||||
|
|
||||||
- database-migration: Database schema changes with migration files
|
|
||||||
- feature-development: Standard feature implementation workflow
|
- feature-development: Standard feature implementation workflow
|
||||||
- add-language-rules: Adds a new programming language to the rules system, including coding style, hooks, patterns, security, and testing guidelines.
|
- add-new-install-target: Adds support for a new install target (e.g., Gemini, CodeBuddy) so ECC can be installed on a new platform or IDE.
|
||||||
|
- add-new-skill-or-agent: Adds a new skill or agent to the ECC system, including documentation and registration.
|
||||||
|
|
||||||
## Review Reminder
|
## Review Reminder
|
||||||
|
|
||||||
|
|||||||
@@ -1,442 +1,173 @@
|
|||||||
---
|
```markdown
|
||||||
name: everything-claude-code-conventions
|
# everything-claude-code Development Patterns
|
||||||
description: Development conventions and patterns for everything-claude-code. JavaScript project with conventional commits.
|
|
||||||
---
|
|
||||||
|
|
||||||
# Everything Claude Code Conventions
|
> Auto-generated skill from repository analysis
|
||||||
|
|
||||||
> Generated from [affaan-m/everything-claude-code](https://github.com/affaan-m/everything-claude-code) on 2026-03-20
|
|
||||||
|
|
||||||
## Overview
|
## Overview
|
||||||
|
|
||||||
This skill teaches Claude the development patterns and conventions used in everything-claude-code.
|
This skill documents the core development patterns, coding conventions, and workflows used in the `everything-claude-code` JavaScript repository. It is designed to help contributors understand how to add new skills, agents, commands, install targets, and maintain the codebase according to established conventions. The repository is framework-agnostic, uses conventional commits, and supports modular extension via skills, agents, and command workflows.
|
||||||
|
|
||||||
## Tech Stack
|
## Coding Conventions
|
||||||
|
|
||||||
- **Primary Language**: JavaScript
|
- **File Naming:**
|
||||||
- **Architecture**: hybrid module organization
|
Use `camelCase` for JavaScript files (e.g., `installManifests.js`), and descriptive names for markdown/config files (e.g., `SKILL.md`, `install-modules.json`).
|
||||||
- **Test Location**: separate
|
|
||||||
|
|
||||||
## When to Use This Skill
|
- **Import Style:**
|
||||||
|
Use relative imports for modules:
|
||||||
|
```js
|
||||||
|
const registry = require('../lib/install-targets/registry');
|
||||||
|
```
|
||||||
|
|
||||||
Activate this skill when:
|
- **Export Style:**
|
||||||
- Making changes to this repository
|
Both CommonJS (`module.exports = ...`) and ES module (`export default ...`) styles may be used, depending on file context.
|
||||||
- Adding new features following established patterns
|
|
||||||
- Writing tests that match project conventions
|
|
||||||
- Creating commits with proper message format
|
|
||||||
|
|
||||||
## Commit Conventions
|
- **Commit Messages:**
|
||||||
|
Follow [Conventional Commits](https://www.conventionalcommits.org/) with prefixes such as `fix`, `feat`, `docs`, `chore`.
|
||||||
|
Example:
|
||||||
|
```
|
||||||
|
feat: add Gemini install target support
|
||||||
|
```
|
||||||
|
|
||||||
Follow these commit message conventions based on 500 analyzed commits.
|
- **Test Files:**
|
||||||
|
Test files follow the `*.test.js` pattern and are colocated with the code under test or in a `tests/` directory.
|
||||||
|
|
||||||
### Commit Style: Conventional Commits
|
## Workflows
|
||||||
|
|
||||||
### Prefixes Used
|
### Add New Install Target
|
||||||
|
**Trigger:** When supporting a new IDE, platform, or environment for ECC installation
|
||||||
|
**Command:** `/add-install-target`
|
||||||
|
|
||||||
- `fix`
|
1. Create a new install target script, e.g., `scripts/lib/install-targets/{target}-project.js`, `.{target}/install.sh`, or `.{target}/install.js`.
|
||||||
- `test`
|
2. Add documentation for the new target, such as `.{target}/README.md`, `.{target}/README.zh-CN.md`, or `.{target}/GEMINI.md`.
|
||||||
- `feat`
|
3. Update `manifests/install-modules.json` to register the new target.
|
||||||
- `docs`
|
4. Update schemas:
|
||||||
|
- `schemas/ecc-install-config.schema.json`
|
||||||
|
- `schemas/install-modules.schema.json`
|
||||||
|
5. Update logic in:
|
||||||
|
- `scripts/lib/install-manifests.js`
|
||||||
|
- `scripts/lib/install-targets/registry.js`
|
||||||
|
6. Add or update tests in `tests/lib/install-targets.test.js`.
|
||||||
|
7. Update `README.md` if public-facing install instructions change.
|
||||||
|
|
||||||
### Message Guidelines
|
**Example:**
|
||||||
|
```js
|
||||||
- Average message length: ~65 characters
|
// scripts/lib/install-targets/gemini-project.js
|
||||||
- Keep first line concise and descriptive
|
module.exports = function installGemini() {
|
||||||
- Use imperative mood ("Add feature" not "Added feature")
|
// Installation logic for Gemini
|
||||||
|
};
|
||||||
|
|
||||||
*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*
|
|
||||||
|
|
||||||
```typescript
|
|
||||||
// Use relative imports
|
|
||||||
import { Button } from '../components/Button'
|
|
||||||
import { useAuth } from './hooks/useAuth'
|
|
||||||
```
|
|
||||||
|
|
||||||
## Testing
|
|
||||||
|
|
||||||
### Test Framework
|
|
||||||
|
|
||||||
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.*
|
### Add New Skill or Agent
|
||||||
|
**Trigger:** When introducing a new capability, workflow, or agent persona
|
||||||
|
**Command:** `/add-skill`
|
||||||
|
|
||||||
|
1. Create a new `SKILL.md` in `skills/{skill-name}/` or `.agents/skills/{skill-name}/`.
|
||||||
|
2. For agents, add definitions in `agents/{agent-name}.md` or `.codex/agents/{agent-name}.toml`.
|
||||||
|
3. Update `manifests/install-modules.json` if the skill is installable.
|
||||||
|
4. Update `AGENTS.md` and/or `README.md` to document the new skill/agent.
|
||||||
|
5. Add supporting files as needed (e.g., `rules/`, `prompts/`, orchestration scripts).
|
||||||
|
6. If orchestration is needed, add a shell or JS orchestrator (e.g., `scripts/{skill-name}.sh`).
|
||||||
|
|
||||||
|
**Example:**
|
||||||
|
```markdown
|
||||||
|
# skills/mySkill/SKILL.md
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
Describes the "mySkill" capability for ECC.
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
...
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Add or Update Command Workflow
|
||||||
|
**Trigger:** When adding or improving CLI commands or workflows
|
||||||
|
**Command:** `/add-command`
|
||||||
|
|
||||||
|
1. Create or modify a command markdown file in `commands/{command-name}.md` or `.claude/commands/{command-name}.md`.
|
||||||
|
2. Add YAML frontmatter and sections for Purpose, Usage, and Output.
|
||||||
|
3. Iterate based on review feedback (fix placeholders, add error handling, clarify protocol).
|
||||||
|
4. Update related commands or documentation if part of a workflow.
|
||||||
|
5. Document artifact storage locations if applicable.
|
||||||
|
|
||||||
|
**Example:**
|
||||||
|
```markdown
|
||||||
|
---
|
||||||
|
name: install
|
||||||
|
description: Install a new ECC module
|
||||||
|
---
|
||||||
|
|
||||||
|
## Purpose
|
||||||
|
...
|
||||||
|
|
||||||
|
## Usage
|
||||||
|
...
|
||||||
|
```
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Agent or Skill Bundle Import
|
||||||
|
**Trigger:** When bulk importing conventions, agent definitions, or skill documentation
|
||||||
|
**Command:** `/import-bundle`
|
||||||
|
|
||||||
|
1. Add multiple files in `.claude/commands/`, `.claude/enterprise/`, `.claude/team/`, `.claude/research/`, `.claude/rules/`, `.codex/agents/`, `.claude/skills/`, `.agents/skills/`, etc.
|
||||||
|
2. Include team config, identity, guardrails, research playbook, and skills documentation.
|
||||||
|
3. No code/test changes—just documentation and config import.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Dependency Update via Dependabot
|
||||||
|
**Trigger:** When Dependabot creates a PR for a new dependency version
|
||||||
|
**Command:** `/update-dependencies`
|
||||||
|
|
||||||
|
1. Update versions in `package.json`, `package-lock.json`, or `yarn.lock`.
|
||||||
|
2. Update `.github/workflows/*.yml` for GitHub Actions if needed.
|
||||||
|
3. Commit with a standard Dependabot message.
|
||||||
|
4. Update `.github/dependabot.yml` for configuration if necessary.
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
### Refactor or Fix Skill or Agent
|
||||||
|
**Trigger:** When a skill/agent needs to be removed, merged, or reworked
|
||||||
|
**Command:** `/remove-skill`
|
||||||
|
|
||||||
|
1. Remove or modify `SKILL.md` in `skills/{skill-name}/` or `agents/{agent-name}.md`.
|
||||||
|
2. Update `manifests/install-modules.json` and documentation.
|
||||||
|
3. Restore or remove associated files as needed.
|
||||||
|
4. Document the reason for the change (e.g., security, redundancy).
|
||||||
|
|
||||||
|
---
|
||||||
|
|
||||||
|
## Testing Patterns
|
||||||
|
|
||||||
|
- **Test Files:**
|
||||||
|
All test files use the `*.test.js` pattern.
|
||||||
|
- **Framework:**
|
||||||
|
No specific testing framework detected; use standard Node.js assertions or your preferred test runner.
|
||||||
|
- **Location:**
|
||||||
|
Tests are typically placed in a `tests/` directory or alongside the source files.
|
||||||
|
|
||||||
|
**Example:**
|
||||||
|
```js
|
||||||
|
// tests/lib/install-targets.test.js
|
||||||
|
const installGemini = require('../../scripts/lib/install-targets/gemini-project');
|
||||||
|
|
||||||
|
test('Gemini install target works', () => {
|
||||||
|
expect(installGemini()).toBeDefined();
|
||||||
|
});
|
||||||
|
```
|
||||||
|
|
||||||
|
## Commands
|
||||||
|
|
||||||
|
| Command | Purpose |
|
||||||
|
|---------------------|--------------------------------------------------------------|
|
||||||
|
| /add-install-target | Add support for a new install target (IDE/platform) |
|
||||||
|
| /add-skill | Add a new skill or agent to the ECC system |
|
||||||
|
| /add-command | Add or update a CLI command or workflow |
|
||||||
|
| /import-bundle | Bulk import agent/skill bundles or conventions documentation |
|
||||||
|
| /update-dependencies| Update dependencies via Dependabot |
|
||||||
|
| /remove-skill | Refactor, remove, or revert a skill or agent |
|
||||||
|
```
|
||||||
|
|||||||
@@ -7,9 +7,9 @@
|
|||||||
".agents/skills/everything-claude-code/SKILL.md"
|
".agents/skills/everything-claude-code/SKILL.md"
|
||||||
],
|
],
|
||||||
"commandFiles": [
|
"commandFiles": [
|
||||||
".claude/commands/database-migration.md",
|
|
||||||
".claude/commands/feature-development.md",
|
".claude/commands/feature-development.md",
|
||||||
".claude/commands/add-language-rules.md"
|
".claude/commands/add-new-install-target.md",
|
||||||
|
".claude/commands/add-new-skill-or-agent.md"
|
||||||
],
|
],
|
||||||
"updatedAt": "2026-03-20T12:07:36.496Z"
|
"updatedAt": "2026-04-01T00:56:01.731Z"
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user