11 Commits

  • fix: resolve MINGW64 double-path conversion in install.sh (#1015)
    On Git Bash (MINGW64), the native Windows Node.js binary receives a
    POSIX path from $SCRIPT_DIR (e.g. /g/projects/everything-claude-code)
    which Git Bash auto-converts to G:\g\projects\... — doubling the
    drive letter prefix and producing MODULE_NOT_FOUND errors.
    
    Fix: use `cygpath -w` when available to explicitly convert the POSIX
    path to a proper Windows path before passing it to Node, falling back
    to the original path on non-MSYS/Cygwin environments.
  • fix: move ajv to dependencies and auto-install deps in install scripts
    `ajv` is required at runtime by the installer (`scripts/lib/install/config.js`)
    but was listed under `devDependencies`. This caused `Error: Cannot find module
    'ajv'` when running `./install.sh` from a fresh git clone or via `npx`.
    
    - Move `ajv` from devDependencies to dependencies in package.json
    - Add auto `npm install` in install.sh when node_modules is missing
    - Add matching auto-install in install.ps1 for Windows parity
  • Update install.sh
    Co-authored-by: coderabbitai[bot] <136622811+coderabbitai[bot]@users.noreply.github.com>
  • feat(CLI): Add Antigravity IDE support via --target antigravity flag
    This Pull Request introduces `--target antigravity` support within the installation script to bridge Everything Claude Code configurations smoothly onto the Antigravity IDE ecosystem.
    
    - Modified `install.sh` to parse and act on the new `--target antigravity` CLI arg.
    - **Flattened Rules Conversion**: Logic automatically copies Language-agnostic (Common/Globs) rules as well as specific language stack rules into `common-*.md` and `{lang}-*.md` structures within `.agent/rules/`.
    - **Workflow & Agent Aggregation**: Commands safely fall in `.agent/workflows/`, and `agents/` alongside `skills/` components are merged into `.agent/skills/`.
    - Contains overwrite warnings to ensure local customized rules aren't completely overridden without consent.
    - Minor updates to `README.md` to properly document the flag addition.
  • feat: add Cursor, Codex, and OpenCode harnesses — maximize every AI coding tool
    - AGENTS.md: universal cross-tool file read by Claude Code, Cursor, Codex, and OpenCode
    - .cursor/: 15 hook events via hooks.json, 16 hook scripts with DRY adapter pattern,
      29 rules (9 common + 20 language-specific) with Cursor YAML frontmatter
    - .codex/: reference config.toml, Codex-specific AGENTS.md supplement,
      10 skills ported to .agents/skills/ with openai.yaml metadata
    - .opencode/: 3 new tools (format-code, lint-check, git-summary), 3 new hooks
      (shell.env, experimental.session.compacting, permission.ask), expanded instructions,
      version bumped to 1.6.0
    - README: fixed Cursor section, added Codex section, added cross-tool parity table
    - install.sh: now copies hooks.json + hooks/ for --target cursor
  • fix: add input validation, date range checks, and security hardening
    - validate-agents.js: reject invalid model names in agent frontmatter
    - package-manager.js: validate script/binary names against shell injection
    - session-manager.js: reject impossible month/day values in filenames
    - utils.js: support options.all for replaceInFile string patterns
    - strategic-compact/SKILL.md: fix hook matcher syntax and script reference
    - install.sh: warn when overwriting existing rule customizations
    - Add 24 new tests covering all validation and edge cases
  • fix: resolve symlinks in install.sh for npm/bun bin usage
    When installed via `npm install ecc-universal`, the `ecc-install` bin
    entry creates a symlink from the package manager's bin directory to
    install.sh. The old `$(dirname "$0")` resolved to the bin directory
    instead of the actual package directory, causing `cp` to fail with
    "cannot stat '.../rules/common/.'".
    
    Now follows the symlink chain with readlink before resolving SCRIPT_DIR.
    
    Fixes #199
  • fix: path traversal in install.sh, error logging in hooks
    - Validate language names in install.sh to prevent path traversal via
      malicious args like ../../etc (only allow [a-zA-Z0-9_-])
    - Replace silent catch in check-console-log.js with stderr logging so
      hook failures are visible to the user for debugging
    - Escape backticks in session-end.js user messages to prevent markdown
      structure corruption in session files
  • 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
  • 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.