mirror of
https://github.com/affaan-m/everything-claude-code.git
synced 2026-03-30 13:43:26 +08:00
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
This commit is contained in:
@@ -0,0 +1,82 @@
|
||||
"""Tests for parse_instinct_file() — verifies content after frontmatter is preserved."""
|
||||
|
||||
import importlib.util
|
||||
import os
|
||||
|
||||
# Load instinct-cli.py (hyphenated filename requires importlib)
|
||||
_spec = importlib.util.spec_from_file_location(
|
||||
"instinct_cli",
|
||||
os.path.join(os.path.dirname(__file__), "instinct-cli.py"),
|
||||
)
|
||||
_mod = importlib.util.module_from_spec(_spec)
|
||||
_spec.loader.exec_module(_mod)
|
||||
parse_instinct_file = _mod.parse_instinct_file
|
||||
|
||||
|
||||
MULTI_SECTION = """\
|
||||
---
|
||||
id: instinct-a
|
||||
trigger: "when coding"
|
||||
confidence: 0.9
|
||||
domain: general
|
||||
---
|
||||
|
||||
## Action
|
||||
Do thing A.
|
||||
|
||||
## Examples
|
||||
- Example A1
|
||||
|
||||
---
|
||||
id: instinct-b
|
||||
trigger: "when testing"
|
||||
confidence: 0.7
|
||||
domain: testing
|
||||
---
|
||||
|
||||
## Action
|
||||
Do thing B.
|
||||
"""
|
||||
|
||||
|
||||
def test_multiple_instincts_preserve_content():
|
||||
result = parse_instinct_file(MULTI_SECTION)
|
||||
assert len(result) == 2
|
||||
assert "Do thing A." in result[0]["content"]
|
||||
assert "Example A1" in result[0]["content"]
|
||||
assert "Do thing B." in result[1]["content"]
|
||||
|
||||
|
||||
def test_single_instinct_preserves_content():
|
||||
content = """\
|
||||
---
|
||||
id: solo
|
||||
trigger: "when reviewing"
|
||||
confidence: 0.8
|
||||
domain: review
|
||||
---
|
||||
|
||||
## Action
|
||||
Check for security issues.
|
||||
|
||||
## Evidence
|
||||
Prevents vulnerabilities.
|
||||
"""
|
||||
result = parse_instinct_file(content)
|
||||
assert len(result) == 1
|
||||
assert "Check for security issues." in result[0]["content"]
|
||||
assert "Prevents vulnerabilities." in result[0]["content"]
|
||||
|
||||
|
||||
def test_empty_content_no_error():
|
||||
content = """\
|
||||
---
|
||||
id: empty
|
||||
trigger: "placeholder"
|
||||
confidence: 0.5
|
||||
domain: general
|
||||
---
|
||||
"""
|
||||
result = parse_instinct_file(content)
|
||||
assert len(result) == 1
|
||||
assert result[0]["content"] == ""
|
||||
Reference in New Issue
Block a user