{
  "schema": "tesign-radar/item/1",
  "generated_at": "2026-09-17T01:56:13.055Z",
  "lang": "ko",
  "slug": "ecc",
  "url": "https://tesign.com/item/ecc/",
  "alternates": {
    "ko": {
      "html": "https://tesign.com/item/ecc/",
      "json": "https://tesign.com/item/ecc/index.json",
      "markdown": "https://tesign.com/item/ecc/index.md"
    },
    "en": {
      "html": "https://tesign.com/en/item/ecc/",
      "json": "https://tesign.com/en/item/ecc/index.json",
      "markdown": "https://tesign.com/en/item/ecc/index.md"
    }
  },
  "name": "ecc",
  "use_label": "에이전트 스킬·기억·보안 묶음",
  "one_liner": "에이전트에 스킬·기억·보안 규칙을 한 벌로 얹습니다.",
  "text": {
    "why": "에이전트 설정은 스킬 몇 개, 규칙 몇 줄씩 흩어진 채로 쌓이기 쉽습니다. ecc는 스킬·습관·기억·보안·조사 우선 개발을 하나의 하네스 구성으로 묶어, Claude Code·Codex·Opencode·Cursor 같은 도구에 같은 방식으로 얹습니다. JavaScript로 쓰였고 MIT 라이선스이며 별도 문서 사이트가 있습니다.",
    "take": "스킬·기억·보안 규칙을 한 벌로 얹는 크기가 크므로, 다 켜기보다 필요한 프로필만 고르는 쪽이 맞습니다.",
    "build": [
      "팀이 함께 쓰는 에이전트 기본 설정 한 벌",
      "도구를 바꿔도 그대로 옮겨 가는 개인 작업 규칙"
    ],
    "who": [
      {
        "role": "팀 리드",
        "situation": "에이전트 기본 설정을 팀 전체에 같게 맞출 때"
      },
      {
        "role": "개발자",
        "situation": "Claude Code·Codex를 오가며 같은 규칙을 쓰고 싶을 때"
      }
    ],
    "start": [
      {
        "command": false,
        "text": "Node.js 18+ · Git · Claude Code 2.1+ 필요"
      },
      {
        "command": true,
        "text": "npx ecc-universal@2.2.1 setup"
      },
      {
        "command": false,
        "text": "또는 Claude Code 프롬프트에서:"
      },
      {
        "command": false,
        "text": "/plugin marketplace add https://github.com/affaan-m/ECC"
      },
      {
        "command": false,
        "text": "/plugin install ecc@ecc"
      },
      {
        "command": false,
        "text": "한 하네스에 설치 방법을 두 가지 겹치지 마세요"
      }
    ],
    "caveat": [
      "같은 하네스에 설치를 두 번 겹치면 스킬·훅이 중복 실행됩니다",
      "Windows 네이티브는 일부 기능에 미해결 결함이 있다고 밝힙니다",
      "훅이 세션마다 컨텍스트를 주입해 토큰 사용이 늘 수 있습니다(기본 8000자)"
    ]
  },
  "cta": {
    "type": "use_package",
    "label": "USE PACKAGE",
    "url": "https://ecc.tools/"
  },
  "ready": "developer",
  "categories": [
    "ai",
    "dev-tools"
  ],
  "categories_confirmed": true,
  "tags": [
    "agents",
    "harness",
    "mcp"
  ],
  "platform": [
    "windows",
    "macos",
    "linux",
    "cli"
  ],
  "license": {
    "spdx": "MIT",
    "scope": "permissive",
    "scope_text": "상업 이용·수정·재배포 가능. 저작권 고지는 유지.",
    "url": "https://spdx.org/licenses/MIT.html",
    "note": null,
    "open_source": true
  },
  "language": "JavaScript",
  "source_urls": {
    "canonical": "https://ecc.tools/",
    "github": "https://github.com/affaan-m/ecc",
    "huggingface": null,
    "app_store": null,
    "sightings": [
      {
        "source": "github",
        "url": "https://github.com/affaan-m/ecc",
        "posted_at": "2026-09-12T22:00:00.000Z",
        "hn_url": null
      }
    ]
  },
  "numbers": {
    "as_of": "2026-09-16T21:00:00.000Z",
    "stars": 259284,
    "stars_unit": "GitHub stars",
    "stars_checked_at": "2026-09-15T19:33:38.847Z",
    "stars_observed_since_check": 152,
    "star_delta_24h": 124,
    "star_delta_7d": 832,
    "star_delta_30d": 2660,
    "star_delta_unit": "GitHub stars gained in the window, GH Archive events summed to as_of",
    "spark_14d": [
      28,
      406,
      579,
      656,
      110,
      13,
      38,
      55,
      211,
      164,
      116,
      20,
      161,
      101
    ],
    "hf_likes": null,
    "hf_likes_observed_at": null,
    "hn_points": null,
    "hn_points_observed_at": null,
    "store": null,
    "method": "별 총합 = GitHub에서 마지막으로 확인한 값(stars_checked_at) + 그 뒤 GH Archive에서 관측한 증가. 24h·7d·30d 증가는 GH Archive 시간별 이벤트를 기준 시각(as_of)까지 합한 값. 우리 점수는 없습니다."
  },
  "ranks": null,
  "activity": {
    "pushed_at": "2026-09-15T19:33:00.000Z",
    "owner_type": "User",
    "open_issues": 211,
    "contributors": 359,
    "releases_count": 17,
    "latest_release": {
      "tag": "v2.2.1",
      "published_at": "2026-09-08T17:52:08.000Z",
      "prerelease": false
    },
    "checked_at": "2026-09-15T19:33:38.847Z",
    "core_checked_at": "2026-09-15T19:33:38.847Z"
  },
  "signals": [
    {
      "kind": "rising",
      "label": "상승 중",
      "value": "+124 ★ / 24h"
    }
  ],
  "images": {
    "og": "https://tesign.com/img/ecc-9ff6213e45.png",
    "cover": "https://tesign.com/img/ecc-9ff6213e45.png",
    "cover_width": 2400,
    "cover_height": 1350,
    "gallery": [
      "https://tesign.com/img/ecc-9ff6213e45.png",
      "https://tesign.com/img/ecc-bc001553f3.png",
      "https://tesign.com/img/ecc-c063790e53.png",
      "https://tesign.com/img/ecc-7d8379daa8.png"
    ],
    "alt": "ECC 배너 그래픽. 'The operating system for AI agent harnesses' 헤드라인과 스킬·에이전트·명령 3열.",
    "tier": 2
  },
  "dates": {
    "first_seen_at": "2026-09-13T07:43:22.965Z",
    "source_created_at": "2026-01-18T00:51:51.000Z",
    "discovery_hours": 5718.858879166667,
    "launch_signal_at": "2026-09-12T22:00:00.000Z",
    "kept_at": "2026-09-13T11:32:21.588Z",
    "first_published_at": "2026-09-13T11:32:21.881Z",
    "updated_at": "2026-09-15T07:17:01.042Z",
    "ingestion_mode": "live"
  },
  "notes": [
    "이 파일은 tesign.com 항목 페이지와 같은 빌드에서 같은 데이터로 만들어졌습니다. 소개 글은 편집자가 쓴 것이고, 숫자는 저장된 관측값입니다.",
    "JSON의 null은 관측하지 않았다는 뜻입니다 — 0이 아닙니다. 마크다운에서는 [확인 필요]로 적습니다.",
    "별 총합 = GitHub에서 마지막으로 확인한 값(stars_checked_at) + 그 뒤 GH Archive에서 관측한 증가. 24h·7d·30d 증가는 GH Archive 시간별 이벤트를 기준 시각(as_of)까지 합한 값. 우리 점수는 없습니다.",
    "요약이며 법적 조언이 아닙니다."
  ]
}
