Commit Graph

107 Commits

  • fix: resolve multiple reported issues (#205, #182, #188, #172, #173) (#207)
    * fix: resolve multiple reported issues (#205, #182, #188, #172, #173)
    
    - fix(observe.sh): replace triple-quote JSON parsing with stdin pipe to
      prevent ~49% parse failures on payloads with quotes/backslashes/unicode
    - fix(hooks.json): correct matcher syntax to use simple tool name regexes
      instead of unsupported logical expressions; move command/path filtering
      into hook scripts; use exit code 2 for blocking hooks
    - fix(skills): quote YAML descriptions containing colons in 3 skill files
      and add missing frontmatter to 2 skill files for Codex CLI compatibility
    - feat(rules): add paths: filters to all 15 language-specific rule files
      so they only load when working on matching file types
    - fix(agents): align model fields with CONTRIBUTING.md recommendations
      (opus for planner/architect, sonnet for reviewers/workers, haiku for
      doc-updater)
    
    * ci: use AgentShield GitHub Action instead of npx
    
    Switch from npx ecc-agentshield to uses: affaan-m/agentshield@v1
    for proper GitHub Action demo and marketplace visibility.
  • Merge pull request #189 from zdocapp/upstreawm/fix-markdownlint-error
    fix: resolve markdownlint issues in documentation
  • Merge pull request #190 from JackyST0/patch-1
    Update README with Skills Directory link
  • feat: add AgentShield security-scan skill and README integration
    New skill: /security-scan wraps ecc-agentshield to audit .claude/ configs
    for vulnerabilities, misconfigs, and injection risks.
    
    Covers: CLAUDE.md secrets, settings.json permissions, MCP server risks,
    hook injection, agent tool restrictions. Produces A-F security grade.
    
    Also adds AgentShield section to Ecosystem Tools in README with
    links to GitHub repo and npm package.
  • fix: include .opencode/ in npm package files and add opencode keyword
    The .opencode/ directory was missing from the files array, so the npm
    package only shipped Claude Code and Cursor configs. Selectively include
    .opencode/ subdirectories to avoid bundling node_modules and dist.
  • feat: add Cursor IDE support with pre-translated configs
    Add complete .cursor/ directory with rules, agents, skills, commands,
    and MCP config adapted for Cursor's format. This makes ecc-universal
    a truly cross-IDE package supporting Claude Code, Cursor, and OpenCode.
    
    - 27 rule files with YAML frontmatter (description, globs, alwaysApply)
    - 13 agent files with full model IDs and readonly flags
    - 30 skill directories (identical Agent Skills standard, no translation)
    - 31 command files (5 multi-* stubbed for missing codeagent-wrapper)
    - MCP config with Cursor env interpolation syntax
    - README.md and MIGRATION.md documentation
    - install.sh --target cursor flag for project-scoped installation
    - package.json updated with .cursor/ in files and cursor keywords
  • Update README with Skills Directory link
    Adding awesome-agent-skills as a related resource.
    
    A curated list of 40+ AI Agent Skills with cross-platform installer (bash/PowerShell), supporting Cursor, Claude Code, Copilot, Windsurf, Codex, and OpenCode.
    
    GitHub: https://github.com/JackyST0/awesome-agent-skills
  • fix: use 4-backtick fences for nested code blocks
    Use quadruple backticks to properly fence markdown content containing
    triple-backtick code blocks, resolving markdownlint MD041 violations.
  • fix: resolve markdownlint issues in documentation
    - Remove trailing whitespace from inline code
    - Add blank line before table
    - Fix heading levels to ensure proper hierarchy
    - Convert bare URLs to markdown links
  • fix: update opencode-ecc plugin for SDK v1.1.53 and refresh README stats
    - Fix PluginContext → PluginInput type rename in @opencode-ai/plugin
    - Import tool from @opencode-ai/plugin/tool subpath (fixes broken barrel export)
    - Update client.app.log() calls to use new options-object API signature
    - Stringify tool execute return values (SDK now requires Promise<string>)
    - Add .js extensions to relative imports for NodeNext module resolution
    - Update README star count (42K+) and contributor count (24)
  • Merge pull request #179 from maurez83630-cmyk/revert-155-pr-fix
    Revert "fix: correct markdown code block syntax in go-test.md"
  • fix: sync plugin.json version with latest tag (#171)
    Sync plugin.json version to 1.4.1, add CI check to verify versions match on release, and add release.sh script. Fixes #170.
  • feat: add nutrient-document-processing skill (#166)
    Add nutrient-document-processing skill for PDF conversion, OCR, redaction, signing, and form filling via Nutrient DWS API.
  • fix: preserve directory structure in installation to prevent file overwrites (#169)
    Fix installation instructions that caused file overwrites. Adds install.sh script and preserves directory structure. Fixes #164.
  • docs: update README with latest stats and What's New section
    - Add forks (5K+) and contributors (22) badges
    - Add Python and Java language badges
    - Add stats summary line (41K+ stars, 5K+ forks, 22 contributors)
    - Add What's New section covering v1.2.0 through v1.4.1
    - Update What's Inside tree with new commands (PM2, multi-agent)
    - Update skills list with Django, Spring Boot, Python, configure-ecc
    - Update agents list with python-reviewer, database-reviewer
    - Update OpenCode feature parity table with latest counts
    - Update contribution ideas to reflect current language coverage
  • fix: preserve content after frontmatter in parse_instinct_file() (#161)
    parse_instinct_file() was appending the instinct and resetting state
    when frontmatter ended (second ---), before any content lines could be
    collected. This caused all content (Action, Evidence, Examples) to be
    lost during import.
    
    Fix: only set in_frontmatter=False when frontmatter ends. The existing
    logic at the start of next frontmatter (or EOF) correctly appends the
    instinct with its collected content.
    
    Fixes #148
  • docs: enhance CONTRIBUTING.md with detailed templates
    - Add table of contents
    - Add detailed skill contribution template
    - Add agent contribution template with field descriptions
    - Add hook examples with matcher syntax
    - Add command template
    - Add PR title format and checklist
  • feat: add GitHub Sponsors support
    - Add FUNDING.yml to enable sponsor button
    - Add SPONSORS.md with tier information
  • refactor(rules): restructure into common + language-specific directories
    * refactor(rules): restructure rules into common + language-specific directories
    
    - Split 8 flat rule files into common/, typescript/, python/, golang/
    - common/ contains language-agnostic principles (no code examples)
    - typescript/ extracts TS/JS specifics (Zod, Playwright, Prettier hooks, etc.)
    - python/ adds Python rules (PEP 8, pytest, black/ruff, bandit)
    - golang/ adds Go rules (gofmt, table-driven tests, gosec, functional options)
    - Replace deprecated ultrathink with extended thinking documentation
    - Add README.md with installation guide and new-language template
    
    Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
    
    * Fix installation commands for rules
    
    Updated installation instructions to copy all rules to a single directory.
    
    * docs: update README.md to reflect new rules directory structure
    
    Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
    
    ---------
    
    Co-authored-by: Hor1zonZzz <Hor1zonZzz@users.noreply.github.com>
    Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
  • feat(skills): add configure-ecc interactive installation wizard
    Add a new skill that guides users through selective installation of
    ECC skills and rules via AskUserQuestion. Clones the repo to /tmp,
    lets users choose components and install level (user/project), verifies
    path correctness, offers optimization, and cleans up on completion.
    
    Co-authored-by: Hor1zonZzz <Hor1zonZzz@users.noreply.github.com>
    Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
  • feat: add pm2 and multi-agent orchestration commands
    Add 6 new command files:
    - pm2.md: PM2 process management for running multiple services
    - multi-plan.md: Multi-agent planning orchestration
    - multi-execute.md: Multi-agent parallel execution
    - multi-backend.md: Backend-focused multi-agent workflow
    - multi-frontend.md: Frontend-focused multi-agent workflow
    - multi-workflow.md: General multi-agent workflow coordination
    
    Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
  • docs: Add Chinese (zh-CN) translations for all documentation
    * docs: add Chinese versions docs
    
    * update
    
    ---------
    
    Co-authored-by: neo <neo.dowithless@gmail.com>
  • fix: correct markdown code block syntax in go-test.md
    * fix: correct markdown code block syntax in go-test.md
    
    * fix: remove language specifier from markdown code block in go-test.md
    
    ---------
    
    Co-authored-by: neo <neo.dowithless@gmail.com>
  • feat: complete OpenCode plugin support with hooks, tools, and commands
    Major OpenCode integration overhaul:
    
    - llms.txt: Comprehensive OpenCode documentation for LLMs (642 lines)
    - .opencode/plugins/ecc-hooks.ts: All Claude Code hooks translated to OpenCode's plugin system
    - .opencode/tools/*.ts: 3 custom tools (run-tests, check-coverage, security-audit)
    - .opencode/commands/*.md: All 24 commands in OpenCode format
    - .opencode/package.json: npm package structure for opencode-ecc
    - .opencode/index.ts: Main plugin entry point
    
    - Delete incorrect LIMITATIONS.md (hooks ARE supported via plugins)
    - Rewrite MIGRATION.md with correct hook event mapping
    - Update README.md OpenCode section to show full feature parity
    
    OpenCode has 20+ events vs Claude Code's 3 phases:
    - PreToolUse → tool.execute.before
    - PostToolUse → tool.execute.after
    - Stop → session.idle
    - SessionStart → session.created
    - SessionEnd → session.deleted
    - Plus: file.edited, file.watcher.updated, permission.asked, todo.updated
    
    - 12 agents: Full parity
    - 24 commands: Full parity (+1 from original 23)
    - 16 skills: Full parity
    - Hooks: OpenCode has MORE (20+ events vs 3 phases)
    - Custom Tools: 3 native OpenCode tools
    
    The OpenCode configuration can now be:
    1. Used directly: cd everything-claude-code && opencode
    2. Installed via npm: npm install opencode-ecc
  • feat: add /sessions command for session history management (#142)
    Add a new /sessions command to manage Claude Code session history with
    alias support for quick access to previous sessions.
    
    Features:
    - List sessions with pagination and filtering (by date, ID)
    - Load and view session content and metadata
    - Create memorable aliases for sessions
    - Remove aliases
    - Display session statistics (lines, items, size)
    - List all aliases
    
    New libraries:
    - scripts/lib/session-manager.js - Core session CRUD operations
    - scripts/lib/session-aliases.js - Alias management with atomic saves
    
    New command:
    - commands/sessions.md - Complete command with embedded scripts
    
    Modified:
    - scripts/lib/utils.js - Add getAliasesPath() export
    - scripts/hooks/session-start.js - Show available aliases on session start
    
    Session format support:
    - Old: YYYY-MM-DD-session.tmp
    - New: YYYY-MM-DD-<short-id>-session.tmp
    
    Aliases are stored in ~/.claude/session-aliases.json with Windows-
    compatible atomic writes and backup support.
    
    Co-authored-by: 王志坚 <wangzhijian10@bgyfw.com>
    Co-authored-by: Claude <noreply@anthropic.com>
  • feat: add Python/Django support and enhance READMEs (#139)
    ## Python Support
    - **agents/python-reviewer.md**: Expert Python code review agent with PEP 8 compliance, type hints, security, and performance checks
    - **commands/python-review.md**: Slash command for automated Python code review with ruff, mypy, pylint, black, bandit
    - **skills/python-patterns/SKILL.md**: Python idioms, type hints, error handling, context managers, decorators, concurrency
    - **skills/python-testing/SKILL.md**: pytest configuration, fixtures, parametrization, mocking, async testing, TDD methodology
    
    ## Django Support
    - **skills/django-patterns/SKILL.md**: Django architecture, DRF patterns, project structure, QuerySets, serializers, ViewSets, service layer, caching
    - **skills/django-security/SKILL.md**: Django security best practices, authentication, CSRF, SQL injection, XSS prevention, production settings
    - **skills/django-tdd/SKILL.md**: Django testing with pytest-django, Factory Boy, model testing, API testing, integration testing
    - **skills/django-verification/SKILL.md**: Pre-deployment verification loop including migrations, tests, security scans, performance checks
    
    ## Documentation Enhancements
    - **Quick Start**: Added 3-step quick start guide to all READMEs (EN, zh-CN, zh-TW)
    - **Beautification**: Added emoji icons for better visual hierarchy across all READMEs
    - **.claude-plugin/plugin.json**: Added python-reviewer to agents list
    
    All files follow project conventions with proper frontmatter, markdown formatting, and comprehensive code examples.
    
    Co-authored-by: Freakz3z <freakk@FreakkdeMacBook-Air.local>
    Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
  • feat(skills): add Java Spring Boot skills
    Adds 6 new skills for Java Spring Boot development:
    - java-coding-standards: naming, immutability, Optional, streams
    - springboot-patterns: REST API, service layer, caching, async
    - springboot-tdd: JUnit 5, Mockito, MockMvc, Testcontainers
    - springboot-security: Spring Security, validation, CSRF
    - springboot-verification: Maven/Gradle build verification
    - jpa-patterns: entity design, relationships
    
    Thanks @examin!
  • fix: use CLAUDE_PLUGIN_ROOT for continuous-learning-v2 paths
    Fixes #113
    
    The instinct commands referenced hardcoded paths that only work with
    manual installation (~/.claude/skills/...). When installed as a plugin,
    files are at ~/.claude/plugins/cache/.../skills/...
    
    Changes:
    - Updated instinct-status, instinct-import, evolve commands to use
      ${CLAUDE_PLUGIN_ROOT} with fallback to manual path
    - Updated observe.sh hook documentation with both install methods
    - Updated SKILL.md with plugin vs manual installation instructions
    - Removed duplicate commands from skills/continuous-learning-v2/commands/
      (already exist in commands/)
    
    Users should use ${CLAUDE_PLUGIN_ROOT} in their hooks config when
    installed as a plugin.
  • feat: unify commands and skills (v1.2.0)
    BREAKING: Commands are now loaded as skills per Claude Code's unified architecture.
    
    Changes:
    - Removed separate `commands` field from plugin.json
    - Added `./commands/` to `skills` array
    - Bumped version to 1.2.0
    - Updated description to reflect unified structure
    
    This aligns with Claude Code's documentation which has merged skills and
    slash commands into a single concept. Both directories are now loaded
    as skills, maintaining backwards compatibility.
    
    Closes #111
  • fix: resolve ESLint errors and update tests for project-name fallback
    - Fix 16 ESLint no-unused-vars errors across hook scripts and tests
    - Add eslint-disable comment for intentional control-regex in ANSI stripper
    - Update session file test to use getSessionIdShort() instead of hardcoded 'default'
      (reflects PR #110's project-name fallback behavior)
    - Add marketing/ to .gitignore (local drafts)
    - Add skill-create-output.js (terminal output formatter)
    
    All 69 tests now pass. CI should be green.
  • docs: add requirements section and hooks field warning
    - Add minimum Claude Code version requirement (v2.1.0+)
    - Document hooks auto-loading behavior to prevent flip-flop cycles
    - Add flip-flop history table to PLUGIN_SCHEMA_NOTES.md
    - Reference issues #29, #52, #103 that were caused by this confusion
    - Explain that regression test now prevents reintroduction
    
    This documentation should prevent future confusion about whether to
    add/remove the hooks field from plugin.json.
  • docs: add Traditional Chinese translation
    Complete Traditional Chinese (zh-TW) translation of documentation
  • docs: add simplified Chinese README
    Adds README.zh-CN.md with language switcher in main README
  • feat: add comprehensive CI/CD pipeline
    Adds GitHub Actions workflows for CI, maintenance, and releases with multi-platform testing matrix.
  • fix: remove duplicate hooks declaration from plugin.json
    Fixes #103, #106, #108
    
    Claude Code automatically loads hooks/hooks.json by convention.
    Explicitly declaring it in plugin.json causes a duplicate detection
    error: "Duplicate hooks file detected"
    
    Added regression test to prevent this from being reintroduced.
  • feat: use project name as session filename fallback
    Fixes #99. Falls back to git repo name or directory name when CLAUDE_SESSION_ID is unavailable.
  • fix: prevent command injection in Prettier hook (#102)
    Security fix: Prevent command injection in Prettier hook by using execFileSync with array arguments instead of execSync with string concatenation.
  • feat: add skill-create and continuous-learning-v2 commands
    New commands:
    - /skill-create: Local git history analysis to generate SKILL.md files
    - /instinct-status: Show learned instincts with confidence levels
    - /instinct-import: Import instincts from files or repos
    - /instinct-export: Export instincts for sharing
    - /evolve: Cluster instincts into skills/commands/agents
    
    These integrate the continuous-learning-v2 system and provide a local
    alternative to the Skill Creator GitHub App for pattern extraction.