Commit Graph

85 Commits

  • 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.
  • Merge pull request #91 from Hor1zonZzz/fix/readme-rules-limitation
    docs: add note about rules limitation in plugin installation
  • Merge pull request #92 from jhsong-musinsa/fix/plugin-manifest-validation
    fix: use array format for plugin manifest fields
  • Merge pull request #93 from pangerlkr/patch-3
    Create PLUGIN_SCHEMA_NOTES.md
  • Create PLUGIN_SCHEMA_NOTES.md
    This PR documents and stabilizes the Claude Code plugin manifest schema based on real validator behavior observed in Issue #90.
  • fix: use explicit file paths for agents in plugin.json
    Fixes plugin installation validation error: "agents: Invalid input"
    
    The plugin manifest validator requires explicit file paths for agents,
    not directory paths. Changed format:
    - "agents": "./agents" → explicit file path array
    - Added version field (required by validator)
    - Changed commands/skills to array format for consistency
    
    This matches the format used by other working plugins (e.g.,
    Parslee-ai/neo uses explicit file paths for agents).
    
    Validated with: claude plugin validate .claude-plugin/plugin.json
    
    Fixes #90
    
    Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
  • docs: add note about rules limitation in plugin installation
    The Claude Code plugin system does not support distributing rules
    via plugins. Added a note to Option 1 (Plugin Installation) section
    explaining this limitation and providing manual installation steps.
    
    Closes #88
    
    Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
  • feat: add images and rename guides to the-shortform-guide.md and the-longform-guide.md
    - Renamed SHORTHAND-GUIDE.md to the-shortform-guide.md
    - Renamed LONGFORM-GUIDE.md to the-longform-guide.md
    - Added assets/images/shortform/ with 11 images for shorthand guide
    - Added assets/images/longform/ with 10 images for longform guide
    - Updated both guides with embedded images from original X articles
    - Images include: hackathon tweet, command chaining, hooks, MCPs, plugins,
      tmux demo, GitHub PR review, Zed editor, VS Code extension, custom statusline,
      session storage, model selection table, pricing table, mgrep benchmark,
      Boris parallel terminals, two-terminal setup, and 25k stars celebration
  • Merge pull request #83 from msyahidin/claude/add-golang-support-frw0Z
    Excellent contribution adding comprehensive Go language support. Includes go-reviewer and go-build-resolver agents, TDD commands, and detailed Go patterns/testing skills.
  • fix: add missing agents and hooks declarations to plugin.json
    - Added agents field pointing to ./agents directory (10 agents)
    - Added hooks field pointing to ./hooks/hooks.json
    - These were supported but not declared, potentially causing
      agents not to load when installed as a plugin
    
    Addresses part of #88 (rules still need manual install per
    upstream limitation - filed anthropics/claude-code#21163)
  • Merge pull request #81 from pangerlkr/patch-2
    Adds Longform Guide as .md - completes #23
  • Merge pull request #79 from pangerlkr/patch-1
    Adds Shorthand Guide as .md - partially addresses #23
  • Merge pull request #80 from lichengzhe/fix/stop-hook-shell-error
    Fixes #78 - Stop hook shell syntax error on macOS/zsh by moving inline Node.js to separate script
  • Merge pull request #85 from roeiba/add-license-file
    Adding MIT LICENSE file - referenced in README but was missing
  • fix: add language labels to fenced code blocks for MD040 compliance
    Add `text` language identifier to unlabeled fenced code blocks
    to satisfy markdownlint MD040 rule across Go documentation files.
  • feat: add comprehensive Golang language support
    Add Go-specific agents, skills, and commands for idiomatic Go development:
    
    Agents:
    - go-reviewer: Go code review for concurrency, error handling, security
    - go-build-resolver: Fix Go build errors with minimal changes
    
    Skills:
    - golang-patterns: Idiomatic Go patterns, best practices, conventions
    - golang-testing: TDD, table-driven tests, benchmarks, fuzzing
    
    Commands:
    - /go-review: Invoke Go code reviewer
    - /go-test: Go TDD workflow with coverage
    - /go-build: Fix Go build/vet/lint errors
    
    Also updates README.md to document the new Go support.
  • Fix: Move Stop hook inline code to separate script file
    Fixes #78
    
    ## Problem
    The Stop hook used inline JavaScript code with `node -e`, which caused
    shell syntax errors on macOS/zsh due to special characters (parentheses,
    braces, arrow functions) being misinterpreted by the shell.
    
    Error message:
    /bin/sh: -c: line 0: syntax error near unexpected token \`('
    
    ## Solution
    - Created scripts/hooks/check-console-log.js with the hook logic
    - Updated hooks/hooks.json to reference the external script
    - This follows the same pattern as other hooks in the plugin
    
    ## Benefits
    - Fixes shell compatibility issues across different environments
    - Improves code maintainability (separate, well-documented script)
    - Follows plugin's own best practices
    - Makes the code easier to test and debug
    
    ## Testing
    Tested on macOS with zsh - no more syntax errors.
    The hook still functions correctly to detect console.log statements.
  • fix: use correct unscoped agent-browser package name (#77)
    * fix: use correct unscoped agent-browser package name
    
    The @anthropic-ai/agent-browser package does not exist on npm.
    The correct package is the unscoped 'agent-browser' from Vercel Labs (v0.7.6).
    
    Fixes the issue noted in PR #75 review comment.
    
    Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
    
    * fix: correct agent-browser API to match actual package exports
    
    - Change AgentBrowser to BrowserManager (correct export name)
    - Update documentation to show actual CLI-based usage pattern
    - Add snapshot + refs system examples (the real agent-browser API)
    - Add programmatic BrowserManager API for advanced use cases
    - Show CLI wrapper approach for script integration
    
    The agent-browser package from Vercel is primarily a CLI tool,
    not a JavaScript library with semantic methods. This corrects
    the documentation to match the actual package API.
    
    Fixes CodeRabbit review comment about incorrect import/export.
    
    Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
    
    ---------
    
    Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
  • feat: v1.1.0 release - session ID tracking, async hooks, new skills
    - Add session ID to session filenames (Issue #62)
    - Add getSessionIdShort() helper for unique per-session tracking
    - Add async hooks documentation with example
    - Create iterative-retrieval skill for progressive context refinement
    - Add continuous-learning-v2 skill with instinct-based learning
    - Add ecc.tools ecosystem section to README
    - Update skills list in README
    
    All 67 tests passing.