mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-04-01 14:43:28 +08:00
Compare commits
15 Commits
ecc-tools/
...
ecc-tools/
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b16d333404 | ||
|
|
1f2a001383 | ||
|
|
fda5ae523c | ||
|
|
9e5d3cfa12 | ||
|
|
72b8190859 | ||
|
|
0f3884a831 | ||
|
|
e7c8f122b9 | ||
|
|
cd07221cc4 | ||
|
|
eb24fb75f8 | ||
|
|
749d83f2a3 | ||
|
|
cbe9d1b75f | ||
|
|
37df119fb5 | ||
|
|
d6bd0a87aa | ||
|
|
199c519a16 | ||
|
|
96fd580ea6 |
@@ -1,173 +1,400 @@
|
||||
```markdown
|
||||
# everything-claude-code Development Patterns
|
||||
---
|
||||
name: everything-claude-code-conventions
|
||||
description: Development conventions and patterns for everything-claude-code. JavaScript project with conventional commits.
|
||||
---
|
||||
|
||||
> Auto-generated skill from repository analysis
|
||||
# Everything Claude Code Conventions
|
||||
|
||||
> Generated from [affaan-m/everything-claude-code](https://github.com/affaan-m/everything-claude-code) on 2026-04-01
|
||||
|
||||
## Overview
|
||||
|
||||
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.
|
||||
This skill teaches Claude the development patterns and conventions used in everything-claude-code.
|
||||
|
||||
## Coding Conventions
|
||||
## Tech Stack
|
||||
|
||||
- **File Naming:**
|
||||
Use `camelCase` for JavaScript files (e.g., `installManifests.js`), and descriptive names for markdown/config files (e.g., `SKILL.md`, `install-modules.json`).
|
||||
- **Primary Language**: JavaScript
|
||||
- **Architecture**: hybrid module organization
|
||||
- **Test Location**: separate
|
||||
|
||||
- **Import Style:**
|
||||
Use relative imports for modules:
|
||||
```js
|
||||
const registry = require('../lib/install-targets/registry');
|
||||
```
|
||||
## When to Use This Skill
|
||||
|
||||
- **Export Style:**
|
||||
Both CommonJS (`module.exports = ...`) and ES module (`export default ...`) styles may be used, depending on file context.
|
||||
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
|
||||
|
||||
- **Commit Messages:**
|
||||
Follow [Conventional Commits](https://www.conventionalcommits.org/) with prefixes such as `fix`, `feat`, `docs`, `chore`.
|
||||
Example:
|
||||
```
|
||||
feat: add Gemini install target support
|
||||
```
|
||||
## Commit Conventions
|
||||
|
||||
- **Test Files:**
|
||||
Test files follow the `*.test.js` pattern and are colocated with the code under test or in a `tests/` directory.
|
||||
Follow these commit message conventions based on 500 analyzed commits.
|
||||
|
||||
## Workflows
|
||||
### Commit Style: Conventional Commits
|
||||
|
||||
### Prefixes Used
|
||||
|
||||
- `fix`
|
||||
- `feat`
|
||||
- `docs`
|
||||
- `chore`
|
||||
|
||||
### Message Guidelines
|
||||
|
||||
- Average message length: ~57 characters
|
||||
- Keep first line concise and descriptive
|
||||
- Use imperative mood ("Add feature" not "Added feature")
|
||||
|
||||
|
||||
*Commit message example*
|
||||
|
||||
```text
|
||||
feat: add everything-claude-code ECC bundle (.claude/commands/add-new-agent-or-skill.md)
|
||||
```
|
||||
|
||||
*Commit message example*
|
||||
|
||||
```text
|
||||
docs: add Claude Code troubleshooting workarounds
|
||||
```
|
||||
|
||||
*Commit message example*
|
||||
|
||||
```text
|
||||
refactor: fold social graph ranking into lead intelligence
|
||||
```
|
||||
|
||||
*Commit message example*
|
||||
|
||||
```text
|
||||
chore: ignore local orchestration artifacts
|
||||
```
|
||||
|
||||
*Commit message example*
|
||||
|
||||
```text
|
||||
fix(security): remove evalview-agent-testing skill — external dependency
|
||||
```
|
||||
|
||||
*Commit message example*
|
||||
|
||||
```text
|
||||
feat: add everything-claude-code ECC bundle (.claude/commands/add-new-install-target.md)
|
||||
```
|
||||
|
||||
*Commit message example*
|
||||
|
||||
```text
|
||||
feat: add everything-claude-code ECC bundle (.claude/commands/feature-development.md)
|
||||
```
|
||||
|
||||
*Commit message example*
|
||||
|
||||
```text
|
||||
feat: add everything-claude-code ECC bundle (.claude/enterprise/controls.md)
|
||||
```
|
||||
|
||||
## 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.
|
||||
|
||||
### Feature Development
|
||||
|
||||
Standard feature implementation workflow
|
||||
|
||||
**Frequency**: ~20 times per month
|
||||
|
||||
**Steps**:
|
||||
1. Add feature implementation
|
||||
2. Add tests for feature
|
||||
3. Update documentation
|
||||
|
||||
**Files typically involved**:
|
||||
- `skills/remotion-video-creation/rules/assets/*`
|
||||
- `.opencode/*`
|
||||
- `.opencode/plugins/*`
|
||||
- `**/*.test.*`
|
||||
|
||||
**Example commit sequence**:
|
||||
```
|
||||
fix: CI fixes, security audit, remotion skill, lead-intelligence, npm audit (#1039)
|
||||
chore(deps-dev): bump globals in the minor-and-patch group (#1062)
|
||||
chore(deps): bump actions/github-script from 7.1.0 to 8.0.0 (#1059)
|
||||
```
|
||||
|
||||
### Add New Install Target
|
||||
**Trigger:** When supporting a new IDE, platform, or environment for ECC installation
|
||||
**Command:** `/add-install-target`
|
||||
|
||||
1. Create a new install target script, e.g., `scripts/lib/install-targets/{target}-project.js`, `.{target}/install.sh`, or `.{target}/install.js`.
|
||||
2. Add documentation for the new target, such as `.{target}/README.md`, `.{target}/README.zh-CN.md`, or `.{target}/GEMINI.md`.
|
||||
3. Update `manifests/install-modules.json` to register the new target.
|
||||
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.
|
||||
Adds support for a new install target (e.g., CodeBuddy, Gemini) to the system, including scripts, manifests, schemas, and tests.
|
||||
|
||||
**Example:**
|
||||
```js
|
||||
// scripts/lib/install-targets/gemini-project.js
|
||||
module.exports = function installGemini() {
|
||||
// Installation logic for Gemini
|
||||
};
|
||||
**Frequency**: ~2 times per month
|
||||
|
||||
**Steps**:
|
||||
1. Create new install scripts (install.js, install.sh, uninstall.js, uninstall.sh) in a dedicated directory (e.g., .codebuddy/ or .gemini/).
|
||||
2. Add or update a README or documentation file for the new target.
|
||||
3. Update manifests/install-modules.json to register the new target.
|
||||
4. Update schemas/ecc-install-config.schema.json and schemas/install-modules.schema.json as needed.
|
||||
5. Update scripts/lib/install-manifests.js and scripts/lib/install-targets/<target>-project.js.
|
||||
6. Update or add tests in tests/lib/install-targets.test.js.
|
||||
7. Update registry or related files if necessary.
|
||||
|
||||
**Files typically involved**:
|
||||
- `manifests/install-modules.json`
|
||||
- `schemas/ecc-install-config.schema.json`
|
||||
- `schemas/install-modules.schema.json`
|
||||
- `scripts/lib/install-manifests.js`
|
||||
- `scripts/lib/install-targets/*.js`
|
||||
- `tests/lib/install-targets.test.js`
|
||||
- `.*/README.md`
|
||||
- `.*/install.js`
|
||||
- `.*/install.sh`
|
||||
- `.*/uninstall.js`
|
||||
- `.*/uninstall.sh`
|
||||
|
||||
**Example commit sequence**:
|
||||
```
|
||||
Create new install scripts (install.js, install.sh, uninstall.js, uninstall.sh) in a dedicated directory (e.g., .codebuddy/ or .gemini/).
|
||||
Add or update a README or documentation file for the new target.
|
||||
Update manifests/install-modules.json to register the new target.
|
||||
Update schemas/ecc-install-config.schema.json and schemas/install-modules.schema.json as needed.
|
||||
Update scripts/lib/install-manifests.js and scripts/lib/install-targets/<target>-project.js.
|
||||
Update or add tests in tests/lib/install-targets.test.js.
|
||||
Update registry or related files if necessary.
|
||||
```
|
||||
|
||||
---
|
||||
### Add New Skill Or Agent
|
||||
|
||||
### Add New Skill or Agent
|
||||
**Trigger:** When introducing a new capability, workflow, or agent persona
|
||||
**Command:** `/add-skill`
|
||||
Adds a new skill or agent to the system, including documentation and registration in manifests.
|
||||
|
||||
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`).
|
||||
**Frequency**: ~3 times per month
|
||||
|
||||
**Example:**
|
||||
```markdown
|
||||
# skills/mySkill/SKILL.md
|
||||
**Steps**:
|
||||
1. Create SKILL.md in skills/<skill-name>/ or .claude/skills/<skill-name>/ or .agents/skills/<skill-name>/.
|
||||
2. Create agent definition(s) in agents/<agent-name>.md if needed.
|
||||
3. Update manifests/install-modules.json or other relevant manifest files.
|
||||
4. Add or update documentation (README.md, AGENTS.md, etc.).
|
||||
|
||||
## Overview
|
||||
Describes the "mySkill" capability for ECC.
|
||||
**Files typically involved**:
|
||||
- `skills/*/SKILL.md`
|
||||
- `.claude/skills/*/SKILL.md`
|
||||
- `.agents/skills/*/SKILL.md`
|
||||
- `agents/*.md`
|
||||
- `manifests/install-modules.json`
|
||||
- `README.md`
|
||||
- `AGENTS.md`
|
||||
|
||||
## Usage
|
||||
...
|
||||
**Example commit sequence**:
|
||||
```
|
||||
Create SKILL.md in skills/<skill-name>/ or .claude/skills/<skill-name>/ or .agents/skills/<skill-name>/.
|
||||
Create agent definition(s) in agents/<agent-name>.md if needed.
|
||||
Update manifests/install-modules.json or other relevant manifest files.
|
||||
Add or update documentation (README.md, AGENTS.md, etc.).
|
||||
```
|
||||
|
||||
---
|
||||
### Add Or Update Command Workflow
|
||||
|
||||
### Add or Update Command Workflow
|
||||
**Trigger:** When adding or improving CLI commands or workflows
|
||||
**Command:** `/add-command`
|
||||
Adds or extends user-facing commands (e.g., PRP, santa-loop, GAN harness), often with review/feedback cycles.
|
||||
|
||||
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.
|
||||
**Frequency**: ~2 times per month
|
||||
|
||||
**Example:**
|
||||
```markdown
|
||||
---
|
||||
name: install
|
||||
description: Install a new ECC module
|
||||
---
|
||||
**Steps**:
|
||||
1. Create or update command markdown files in commands/ or .claude/commands/.
|
||||
2. Add YAML frontmatter, usage, and output sections as per convention.
|
||||
3. Address review feedback with follow-up fixes (e.g., parameter quoting, API usage, documentation).
|
||||
4. If needed, update related files (e.g., hooks, tests, AGENTS.md).
|
||||
|
||||
## Purpose
|
||||
...
|
||||
**Files typically involved**:
|
||||
- `commands/*.md`
|
||||
- `.claude/commands/*.md`
|
||||
|
||||
## Usage
|
||||
...
|
||||
**Example commit sequence**:
|
||||
```
|
||||
Create or update command markdown files in commands/ or .claude/commands/.
|
||||
Add YAML frontmatter, usage, and output sections as per convention.
|
||||
Address review feedback with follow-up fixes (e.g., parameter quoting, API usage, documentation).
|
||||
If needed, update related files (e.g., hooks, tests, AGENTS.md).
|
||||
```
|
||||
|
||||
---
|
||||
### Add Or Update Opencode Agent
|
||||
|
||||
### Agent or Skill Bundle Import
|
||||
**Trigger:** When bulk importing conventions, agent definitions, or skill documentation
|
||||
**Command:** `/import-bundle`
|
||||
Adds new OpenCode agent prompt files and updates agent registration in opencode.json.
|
||||
|
||||
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.
|
||||
**Frequency**: ~2 times per month
|
||||
|
||||
---
|
||||
**Steps**:
|
||||
1. Add new prompt files in .opencode/prompts/agents/*.txt.
|
||||
2. Update .opencode/opencode.json to register new agents.
|
||||
3. Update AGENTS.md to reflect new agent count or details.
|
||||
4. Address review feedback (e.g., remove agents, update documentation).
|
||||
|
||||
### Dependency Update via Dependabot
|
||||
**Trigger:** When Dependabot creates a PR for a new dependency version
|
||||
**Command:** `/update-dependencies`
|
||||
**Files typically involved**:
|
||||
- `.opencode/prompts/agents/*.txt`
|
||||
- `.opencode/opencode.json`
|
||||
- `AGENTS.md`
|
||||
|
||||
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();
|
||||
});
|
||||
**Example commit sequence**:
|
||||
```
|
||||
Add new prompt files in .opencode/prompts/agents/*.txt.
|
||||
Update .opencode/opencode.json to register new agents.
|
||||
Update AGENTS.md to reflect new agent count or details.
|
||||
Address review feedback (e.g., remove agents, update documentation).
|
||||
```
|
||||
|
||||
## Commands
|
||||
### Add Or Update Hook Orci Script
|
||||
|
||||
| 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 |
|
||||
Implements or fixes hooks and related scripts for formatting, typechecking, session management, or CI integration.
|
||||
|
||||
**Frequency**: ~2 times per month
|
||||
|
||||
**Steps**:
|
||||
1. Edit or add scripts in scripts/hooks/ or hooks/hooks.json.
|
||||
2. Update or add tests in tests/hooks/.
|
||||
3. Address review feedback (e.g., race conditions, timeouts, path normalization, security).
|
||||
4. If needed, update related files (e.g., .cursor/hooks/after-file-edit.js, .github/workflows/*).
|
||||
|
||||
**Files typically involved**:
|
||||
- `scripts/hooks/*.js`
|
||||
- `scripts/hooks/*.sh`
|
||||
- `hooks/hooks.json`
|
||||
- `tests/hooks/*.js`
|
||||
- `.cursor/hooks/*.js`
|
||||
- `.github/workflows/*.yml`
|
||||
|
||||
**Example commit sequence**:
|
||||
```
|
||||
Edit or add scripts in scripts/hooks/ or hooks/hooks.json.
|
||||
Update or add tests in tests/hooks/.
|
||||
Address review feedback (e.g., race conditions, timeouts, path normalization, security).
|
||||
If needed, update related files (e.g., .cursor/hooks/after-file-edit.js, .github/workflows/*).
|
||||
```
|
||||
|
||||
### Dependency Update Via Dependabot
|
||||
|
||||
Automated or manual update of dependencies (npm packages or GitHub Actions) across multiple workflow files.
|
||||
|
||||
**Frequency**: ~4 times per month
|
||||
|
||||
**Steps**:
|
||||
1. Update dependency version in package.json, yarn.lock, or relevant workflow YAML.
|
||||
2. Update .github/workflows/*.yml to use new action versions.
|
||||
3. Commit with standardized message referencing the dependency and version bump.
|
||||
|
||||
**Files typically involved**:
|
||||
- `package.json`
|
||||
- `yarn.lock`
|
||||
- `package-lock.json`
|
||||
- `.github/workflows/*.yml`
|
||||
|
||||
**Example commit sequence**:
|
||||
```
|
||||
Update dependency version in package.json, yarn.lock, or relevant workflow YAML.
|
||||
Update .github/workflows/*.yml to use new action versions.
|
||||
Commit with standardized message referencing the dependency and version bump.
|
||||
```
|
||||
|
||||
|
||||
## 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.*
|
||||
|
||||
@@ -10,7 +10,7 @@ Use this workflow when working on **add-new-install-target** in `everything-clau
|
||||
|
||||
## Goal
|
||||
|
||||
Adds support for a new install target (e.g., Gemini, CodeBuddy) so ECC can be installed on a new platform or IDE.
|
||||
Adds support for a new install target (e.g., CodeBuddy, Gemini) to the system, including scripts, manifests, schemas, and tests.
|
||||
|
||||
## Common Files
|
||||
|
||||
@@ -18,8 +18,8 @@ Adds support for a new install target (e.g., Gemini, CodeBuddy) so ECC can be in
|
||||
- `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`
|
||||
- `scripts/lib/install-targets/*.js`
|
||||
- `tests/lib/install-targets.test.js`
|
||||
|
||||
## Suggested Sequence
|
||||
|
||||
@@ -30,11 +30,11 @@ Adds support for a new install target (e.g., Gemini, CodeBuddy) so ECC can be in
|
||||
|
||||
## 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
|
||||
- Create new install scripts (install.js, install.sh, uninstall.js, uninstall.sh) in a dedicated directory (e.g., .codebuddy/ or .gemini/).
|
||||
- Add or update a README or documentation file for the new target.
|
||||
- Update manifests/install-modules.json to register the new target.
|
||||
- Update schemas/ecc-install-config.schema.json and schemas/install-modules.schema.json as needed.
|
||||
- Update scripts/lib/install-manifests.js and scripts/lib/install-targets/<target>-project.js.
|
||||
|
||||
## Notes
|
||||
|
||||
|
||||
@@ -10,16 +10,16 @@ Use this workflow when working on **add-new-skill-or-agent** in `everything-clau
|
||||
|
||||
## Goal
|
||||
|
||||
Adds a new skill or agent to the ECC system, including documentation and registration.
|
||||
Adds a new skill or agent to the system, including documentation and registration in manifests.
|
||||
|
||||
## Common Files
|
||||
|
||||
- `skills/{skill-name}/SKILL.md`
|
||||
- `.agents/skills/{skill-name}/SKILL.md`
|
||||
- `agents/{agent-name}.md`
|
||||
- `.codex/agents/{agent-name}.toml`
|
||||
- `skills/*/SKILL.md`
|
||||
- `.claude/skills/*/SKILL.md`
|
||||
- `.agents/skills/*/SKILL.md`
|
||||
- `agents/*.md`
|
||||
- `manifests/install-modules.json`
|
||||
- `AGENTS.md`
|
||||
- `README.md`
|
||||
|
||||
## Suggested Sequence
|
||||
|
||||
@@ -30,11 +30,10 @@ Adds a new skill or agent to the ECC system, including documentation and registr
|
||||
|
||||
## 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)
|
||||
- Create SKILL.md in skills/<skill-name>/ or .claude/skills/<skill-name>/ or .agents/skills/<skill-name>/.
|
||||
- Create agent definition(s) in agents/<agent-name>.md if needed.
|
||||
- Update manifests/install-modules.json or other relevant manifest files.
|
||||
- Add or update documentation (README.md, AGENTS.md, etc.).
|
||||
|
||||
## Notes
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
"version": "1.3",
|
||||
"schemaVersion": "1.0",
|
||||
"generatedBy": "ecc-tools",
|
||||
"generatedAt": "2026-04-01T00:56:01.731Z",
|
||||
"generatedAt": "2026-03-31T23:03:58.867Z",
|
||||
"repo": "https://github.com/affaan-m/everything-claude-code",
|
||||
"profiles": {
|
||||
"requested": "full",
|
||||
|
||||
@@ -10,5 +10,5 @@
|
||||
"javascript"
|
||||
],
|
||||
"suggestedBy": "ecc-tools-repo-analysis",
|
||||
"createdAt": "2026-04-01T00:56:53.890Z"
|
||||
"createdAt": "2026-04-01T00:55:29.418Z"
|
||||
}
|
||||
@@ -25,8 +25,8 @@ Generated by ECC Tools from repository history. Review before treating it as a h
|
||||
## Detected Workflows
|
||||
|
||||
- feature-development: Standard feature implementation workflow
|
||||
- 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.
|
||||
- add-new-install-target: Adds support for a new install target (e.g., CodeBuddy, Gemini) to the system, including scripts, manifests, schemas, and tests.
|
||||
- add-new-skill-or-agent: Adds a new skill or agent to the system, including documentation and registration in manifests.
|
||||
|
||||
## Review Reminder
|
||||
|
||||
|
||||
@@ -1,173 +1,400 @@
|
||||
```markdown
|
||||
# everything-claude-code Development Patterns
|
||||
---
|
||||
name: everything-claude-code-conventions
|
||||
description: Development conventions and patterns for everything-claude-code. JavaScript project with conventional commits.
|
||||
---
|
||||
|
||||
> Auto-generated skill from repository analysis
|
||||
# Everything Claude Code Conventions
|
||||
|
||||
> Generated from [affaan-m/everything-claude-code](https://github.com/affaan-m/everything-claude-code) on 2026-04-01
|
||||
|
||||
## Overview
|
||||
|
||||
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.
|
||||
This skill teaches Claude the development patterns and conventions used in everything-claude-code.
|
||||
|
||||
## Coding Conventions
|
||||
## Tech Stack
|
||||
|
||||
- **File Naming:**
|
||||
Use `camelCase` for JavaScript files (e.g., `installManifests.js`), and descriptive names for markdown/config files (e.g., `SKILL.md`, `install-modules.json`).
|
||||
- **Primary Language**: JavaScript
|
||||
- **Architecture**: hybrid module organization
|
||||
- **Test Location**: separate
|
||||
|
||||
- **Import Style:**
|
||||
Use relative imports for modules:
|
||||
```js
|
||||
const registry = require('../lib/install-targets/registry');
|
||||
```
|
||||
## When to Use This Skill
|
||||
|
||||
- **Export Style:**
|
||||
Both CommonJS (`module.exports = ...`) and ES module (`export default ...`) styles may be used, depending on file context.
|
||||
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
|
||||
|
||||
- **Commit Messages:**
|
||||
Follow [Conventional Commits](https://www.conventionalcommits.org/) with prefixes such as `fix`, `feat`, `docs`, `chore`.
|
||||
Example:
|
||||
```
|
||||
feat: add Gemini install target support
|
||||
```
|
||||
## Commit Conventions
|
||||
|
||||
- **Test Files:**
|
||||
Test files follow the `*.test.js` pattern and are colocated with the code under test or in a `tests/` directory.
|
||||
Follow these commit message conventions based on 500 analyzed commits.
|
||||
|
||||
## Workflows
|
||||
### Commit Style: Conventional Commits
|
||||
|
||||
### Prefixes Used
|
||||
|
||||
- `fix`
|
||||
- `feat`
|
||||
- `docs`
|
||||
- `chore`
|
||||
|
||||
### Message Guidelines
|
||||
|
||||
- Average message length: ~57 characters
|
||||
- Keep first line concise and descriptive
|
||||
- Use imperative mood ("Add feature" not "Added feature")
|
||||
|
||||
|
||||
*Commit message example*
|
||||
|
||||
```text
|
||||
feat: add everything-claude-code ECC bundle (.claude/commands/add-new-agent-or-skill.md)
|
||||
```
|
||||
|
||||
*Commit message example*
|
||||
|
||||
```text
|
||||
docs: add Claude Code troubleshooting workarounds
|
||||
```
|
||||
|
||||
*Commit message example*
|
||||
|
||||
```text
|
||||
refactor: fold social graph ranking into lead intelligence
|
||||
```
|
||||
|
||||
*Commit message example*
|
||||
|
||||
```text
|
||||
chore: ignore local orchestration artifacts
|
||||
```
|
||||
|
||||
*Commit message example*
|
||||
|
||||
```text
|
||||
fix(security): remove evalview-agent-testing skill — external dependency
|
||||
```
|
||||
|
||||
*Commit message example*
|
||||
|
||||
```text
|
||||
feat: add everything-claude-code ECC bundle (.claude/commands/add-new-install-target.md)
|
||||
```
|
||||
|
||||
*Commit message example*
|
||||
|
||||
```text
|
||||
feat: add everything-claude-code ECC bundle (.claude/commands/feature-development.md)
|
||||
```
|
||||
|
||||
*Commit message example*
|
||||
|
||||
```text
|
||||
feat: add everything-claude-code ECC bundle (.claude/enterprise/controls.md)
|
||||
```
|
||||
|
||||
## 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.
|
||||
|
||||
### Feature Development
|
||||
|
||||
Standard feature implementation workflow
|
||||
|
||||
**Frequency**: ~20 times per month
|
||||
|
||||
**Steps**:
|
||||
1. Add feature implementation
|
||||
2. Add tests for feature
|
||||
3. Update documentation
|
||||
|
||||
**Files typically involved**:
|
||||
- `skills/remotion-video-creation/rules/assets/*`
|
||||
- `.opencode/*`
|
||||
- `.opencode/plugins/*`
|
||||
- `**/*.test.*`
|
||||
|
||||
**Example commit sequence**:
|
||||
```
|
||||
fix: CI fixes, security audit, remotion skill, lead-intelligence, npm audit (#1039)
|
||||
chore(deps-dev): bump globals in the minor-and-patch group (#1062)
|
||||
chore(deps): bump actions/github-script from 7.1.0 to 8.0.0 (#1059)
|
||||
```
|
||||
|
||||
### Add New Install Target
|
||||
**Trigger:** When supporting a new IDE, platform, or environment for ECC installation
|
||||
**Command:** `/add-install-target`
|
||||
|
||||
1. Create a new install target script, e.g., `scripts/lib/install-targets/{target}-project.js`, `.{target}/install.sh`, or `.{target}/install.js`.
|
||||
2. Add documentation for the new target, such as `.{target}/README.md`, `.{target}/README.zh-CN.md`, or `.{target}/GEMINI.md`.
|
||||
3. Update `manifests/install-modules.json` to register the new target.
|
||||
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.
|
||||
Adds support for a new install target (e.g., CodeBuddy, Gemini) to the system, including scripts, manifests, schemas, and tests.
|
||||
|
||||
**Example:**
|
||||
```js
|
||||
// scripts/lib/install-targets/gemini-project.js
|
||||
module.exports = function installGemini() {
|
||||
// Installation logic for Gemini
|
||||
};
|
||||
**Frequency**: ~2 times per month
|
||||
|
||||
**Steps**:
|
||||
1. Create new install scripts (install.js, install.sh, uninstall.js, uninstall.sh) in a dedicated directory (e.g., .codebuddy/ or .gemini/).
|
||||
2. Add or update a README or documentation file for the new target.
|
||||
3. Update manifests/install-modules.json to register the new target.
|
||||
4. Update schemas/ecc-install-config.schema.json and schemas/install-modules.schema.json as needed.
|
||||
5. Update scripts/lib/install-manifests.js and scripts/lib/install-targets/<target>-project.js.
|
||||
6. Update or add tests in tests/lib/install-targets.test.js.
|
||||
7. Update registry or related files if necessary.
|
||||
|
||||
**Files typically involved**:
|
||||
- `manifests/install-modules.json`
|
||||
- `schemas/ecc-install-config.schema.json`
|
||||
- `schemas/install-modules.schema.json`
|
||||
- `scripts/lib/install-manifests.js`
|
||||
- `scripts/lib/install-targets/*.js`
|
||||
- `tests/lib/install-targets.test.js`
|
||||
- `.*/README.md`
|
||||
- `.*/install.js`
|
||||
- `.*/install.sh`
|
||||
- `.*/uninstall.js`
|
||||
- `.*/uninstall.sh`
|
||||
|
||||
**Example commit sequence**:
|
||||
```
|
||||
Create new install scripts (install.js, install.sh, uninstall.js, uninstall.sh) in a dedicated directory (e.g., .codebuddy/ or .gemini/).
|
||||
Add or update a README or documentation file for the new target.
|
||||
Update manifests/install-modules.json to register the new target.
|
||||
Update schemas/ecc-install-config.schema.json and schemas/install-modules.schema.json as needed.
|
||||
Update scripts/lib/install-manifests.js and scripts/lib/install-targets/<target>-project.js.
|
||||
Update or add tests in tests/lib/install-targets.test.js.
|
||||
Update registry or related files if necessary.
|
||||
```
|
||||
|
||||
---
|
||||
### Add New Skill Or Agent
|
||||
|
||||
### Add New Skill or Agent
|
||||
**Trigger:** When introducing a new capability, workflow, or agent persona
|
||||
**Command:** `/add-skill`
|
||||
Adds a new skill or agent to the system, including documentation and registration in manifests.
|
||||
|
||||
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`).
|
||||
**Frequency**: ~3 times per month
|
||||
|
||||
**Example:**
|
||||
```markdown
|
||||
# skills/mySkill/SKILL.md
|
||||
**Steps**:
|
||||
1. Create SKILL.md in skills/<skill-name>/ or .claude/skills/<skill-name>/ or .agents/skills/<skill-name>/.
|
||||
2. Create agent definition(s) in agents/<agent-name>.md if needed.
|
||||
3. Update manifests/install-modules.json or other relevant manifest files.
|
||||
4. Add or update documentation (README.md, AGENTS.md, etc.).
|
||||
|
||||
## Overview
|
||||
Describes the "mySkill" capability for ECC.
|
||||
**Files typically involved**:
|
||||
- `skills/*/SKILL.md`
|
||||
- `.claude/skills/*/SKILL.md`
|
||||
- `.agents/skills/*/SKILL.md`
|
||||
- `agents/*.md`
|
||||
- `manifests/install-modules.json`
|
||||
- `README.md`
|
||||
- `AGENTS.md`
|
||||
|
||||
## Usage
|
||||
...
|
||||
**Example commit sequence**:
|
||||
```
|
||||
Create SKILL.md in skills/<skill-name>/ or .claude/skills/<skill-name>/ or .agents/skills/<skill-name>/.
|
||||
Create agent definition(s) in agents/<agent-name>.md if needed.
|
||||
Update manifests/install-modules.json or other relevant manifest files.
|
||||
Add or update documentation (README.md, AGENTS.md, etc.).
|
||||
```
|
||||
|
||||
---
|
||||
### Add Or Update Command Workflow
|
||||
|
||||
### Add or Update Command Workflow
|
||||
**Trigger:** When adding or improving CLI commands or workflows
|
||||
**Command:** `/add-command`
|
||||
Adds or extends user-facing commands (e.g., PRP, santa-loop, GAN harness), often with review/feedback cycles.
|
||||
|
||||
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.
|
||||
**Frequency**: ~2 times per month
|
||||
|
||||
**Example:**
|
||||
```markdown
|
||||
---
|
||||
name: install
|
||||
description: Install a new ECC module
|
||||
---
|
||||
**Steps**:
|
||||
1. Create or update command markdown files in commands/ or .claude/commands/.
|
||||
2. Add YAML frontmatter, usage, and output sections as per convention.
|
||||
3. Address review feedback with follow-up fixes (e.g., parameter quoting, API usage, documentation).
|
||||
4. If needed, update related files (e.g., hooks, tests, AGENTS.md).
|
||||
|
||||
## Purpose
|
||||
...
|
||||
**Files typically involved**:
|
||||
- `commands/*.md`
|
||||
- `.claude/commands/*.md`
|
||||
|
||||
## Usage
|
||||
...
|
||||
**Example commit sequence**:
|
||||
```
|
||||
Create or update command markdown files in commands/ or .claude/commands/.
|
||||
Add YAML frontmatter, usage, and output sections as per convention.
|
||||
Address review feedback with follow-up fixes (e.g., parameter quoting, API usage, documentation).
|
||||
If needed, update related files (e.g., hooks, tests, AGENTS.md).
|
||||
```
|
||||
|
||||
---
|
||||
### Add Or Update Opencode Agent
|
||||
|
||||
### Agent or Skill Bundle Import
|
||||
**Trigger:** When bulk importing conventions, agent definitions, or skill documentation
|
||||
**Command:** `/import-bundle`
|
||||
Adds new OpenCode agent prompt files and updates agent registration in opencode.json.
|
||||
|
||||
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.
|
||||
**Frequency**: ~2 times per month
|
||||
|
||||
---
|
||||
**Steps**:
|
||||
1. Add new prompt files in .opencode/prompts/agents/*.txt.
|
||||
2. Update .opencode/opencode.json to register new agents.
|
||||
3. Update AGENTS.md to reflect new agent count or details.
|
||||
4. Address review feedback (e.g., remove agents, update documentation).
|
||||
|
||||
### Dependency Update via Dependabot
|
||||
**Trigger:** When Dependabot creates a PR for a new dependency version
|
||||
**Command:** `/update-dependencies`
|
||||
**Files typically involved**:
|
||||
- `.opencode/prompts/agents/*.txt`
|
||||
- `.opencode/opencode.json`
|
||||
- `AGENTS.md`
|
||||
|
||||
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();
|
||||
});
|
||||
**Example commit sequence**:
|
||||
```
|
||||
Add new prompt files in .opencode/prompts/agents/*.txt.
|
||||
Update .opencode/opencode.json to register new agents.
|
||||
Update AGENTS.md to reflect new agent count or details.
|
||||
Address review feedback (e.g., remove agents, update documentation).
|
||||
```
|
||||
|
||||
## Commands
|
||||
### Add Or Update Hook Orci Script
|
||||
|
||||
| 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 |
|
||||
Implements or fixes hooks and related scripts for formatting, typechecking, session management, or CI integration.
|
||||
|
||||
**Frequency**: ~2 times per month
|
||||
|
||||
**Steps**:
|
||||
1. Edit or add scripts in scripts/hooks/ or hooks/hooks.json.
|
||||
2. Update or add tests in tests/hooks/.
|
||||
3. Address review feedback (e.g., race conditions, timeouts, path normalization, security).
|
||||
4. If needed, update related files (e.g., .cursor/hooks/after-file-edit.js, .github/workflows/*).
|
||||
|
||||
**Files typically involved**:
|
||||
- `scripts/hooks/*.js`
|
||||
- `scripts/hooks/*.sh`
|
||||
- `hooks/hooks.json`
|
||||
- `tests/hooks/*.js`
|
||||
- `.cursor/hooks/*.js`
|
||||
- `.github/workflows/*.yml`
|
||||
|
||||
**Example commit sequence**:
|
||||
```
|
||||
Edit or add scripts in scripts/hooks/ or hooks/hooks.json.
|
||||
Update or add tests in tests/hooks/.
|
||||
Address review feedback (e.g., race conditions, timeouts, path normalization, security).
|
||||
If needed, update related files (e.g., .cursor/hooks/after-file-edit.js, .github/workflows/*).
|
||||
```
|
||||
|
||||
### Dependency Update Via Dependabot
|
||||
|
||||
Automated or manual update of dependencies (npm packages or GitHub Actions) across multiple workflow files.
|
||||
|
||||
**Frequency**: ~4 times per month
|
||||
|
||||
**Steps**:
|
||||
1. Update dependency version in package.json, yarn.lock, or relevant workflow YAML.
|
||||
2. Update .github/workflows/*.yml to use new action versions.
|
||||
3. Commit with standardized message referencing the dependency and version bump.
|
||||
|
||||
**Files typically involved**:
|
||||
- `package.json`
|
||||
- `yarn.lock`
|
||||
- `package-lock.json`
|
||||
- `.github/workflows/*.yml`
|
||||
|
||||
**Example commit sequence**:
|
||||
```
|
||||
Update dependency version in package.json, yarn.lock, or relevant workflow YAML.
|
||||
Update .github/workflows/*.yml to use new action versions.
|
||||
Commit with standardized message referencing the dependency and version bump.
|
||||
```
|
||||
|
||||
|
||||
## 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.*
|
||||
|
||||
@@ -11,5 +11,5 @@
|
||||
".claude/commands/add-new-install-target.md",
|
||||
".claude/commands/add-new-skill-or-agent.md"
|
||||
],
|
||||
"updatedAt": "2026-04-01T00:56:01.731Z"
|
||||
"updatedAt": "2026-03-31T23:03:58.867Z"
|
||||
}
|
||||
Reference in New Issue
Block a user