Skip to main content
Glama
khaoss85

Accordo

Accordo

당신의 판매 프로세스를 코딩 에이전트에게 설명하세요. 에이전트가 구축한 CRM을 당신이 소유합니다.

Claude Code, Codex 및 Gemini CLI가 당신이 소유하는 코드로서 CRM 애플리케이션을 생성하도록 하는 오픈소스 프레임워크입니다. 결정론적 워크플로, 정책 기반의 사람에 의한 승인, 감사 및 추적이 내장되어 있습니다.

이름이 선택되었고 도메인이 등록되어 있습니다. 내 공용 npm create accordo를 실행하면 create-accordo@0.1.0에서 작업 프로젝트를 스캐폴딩합니다. accordo 패키지 자체는 비어 있는 0.0.1 이름 예약에 남아 있습니다. 프레임워크를 라이브러리로 설치하는 것은 아무것도 없으며, @accordo 스코프는 선점되어 있으며 의도적으로 비워져 있습니다. 상표 검색은 수행되지 않았으며 이 프로젝트는 프로덕션에 배포할 수 없습니다. 그것이 정확히 무엇을 의미하는지에 대해서는 멈추는 위치를 나중에 살펴보세요. 이 문서의 나머지를 읽기 전에 읽어볼 가치가 있습니다.

Business request
      ↓  "Renewals of €50,000 or more need a manager's sign-off."
Claude Code / Codex
      ↓  reads AGENTS.md · 12 skills · MCP · `crm app inspect`
Modules + deterministic workflows + versioned policy
      ↓
API + Admin + trace + audit — in your repository, as code you review

Accordo를 사용해야 하는 경우

  • 맞춤형 CRM: 상업 프로세스 자체가 상품일 때, 그리고 그 결과가 다른 이의 런타임 안에 있는 설정이 아니라 리뷰할 수 있는 코드여야 할 때.

  • Customer Hub: "허브"가 거버넌스 적용 작업이 있는 단일 로컬 상업 레코드 체인을 의미할 때. Accordo는 소스를 수집하지 않고 CDP처럼 고객 아이덴티티를 확인하지 않습니다.

  • Smart CRM: 코딩 에이전트가 애플리케이션을 구성하고, 버전화된 정책과 지정된 사람이 비즈니스 결정을 유지해야 할 때. 이는 자율적인 의사결정자가 아니라 에이전트가 구축한 소프트웨어입니다.

  • CDP + CRM: 외부 CDP가 인입, 동일성 해석 그리고 오디언스를 담당하고 Accordo가 그 옆에 결정론적 CRM 프로세스 계층을 담당할 때. Accordo에는 CDP, 커넥터, 임포터 또는 동기화 런타임이 포함되지 않습니다.

그 주변 용어들은 추가 기능을 주장하는 것이 아니라 검색 경로입니다. 확인된 권장 맵는 각각의 용어를 프레임워크가 증명하는 것과 그 끝나는 곳에 바인딩합니다.


Related MCP server: Pathmode

존재 이유

모든 CRM은 결국 당신의 프로세스를 맞춰 구부리라고 요구합니다. 일반적인 두 가지 탈출구는 모두 대가가 있습니다:

  • 플랫폼 설정 — 시작은 빠르고, 당신의 커스터마이징은 다른 사람의 런타임 안에 메타데이터로 존재합니다. 한계에 부딪히면 당신은 모노레포를 포크하지요.

  • 처음부터 구축 — 완전한 자유, 하지만 모든 팀이 검증, 파이프라인 의미론, 승인, 감사를 다시 작성합니다. 보통 늦게, 그리고 어려움 속에 구축하게 됩니다.

이 프레임워크는 세 번째 선택지입니다: 에이전트가 애플리케이션을 생성하고, 팀이 마감 기한을 몰라서 잘못 작성하는 부분을 프레임워크가 제공합니다. 어떤 개발자든 적용할 수 있는 시험은 "이 프로젝트가 내일 사라지면 무엇이 남는가?" 입니다. 여기서 그 답은: 저장소 내부의 Node 애플리케이션이며, 외부 런타임 의존성이 없고, 어떤 클라이언트도 열 수 있는 SQLite 파일입니다.

입증을 위한 것이 무엇인가

아래 각 행은 병합된 테스트에 연결됩니다. 전체 기록 — 주장, 증거, 그리고 함께가 한계는 — site/claims.json에 있고, 그 뒤에서의 리뷰 원칙은 docs/QUALITY_GATES.md에 있습니다.

역량

어디에서 한계가 오는가

증거

모듈 구성 파일이 마이그레이션, 서비스, REST 리소스, SDK 메서드 및 Admin 화면(페이지 코드 없음)이 됨

생성된 CRUD만 됨 — 커스텀 객체에 대한 워크플로와 승인은 여전히 직접 작성

tests/module-factory-e2e.test.js, tests/generated-api-e2e.test.js, tests/admin-modules.test.js

생성된 객체들이 서로를 참조함: 외래 키, 런타임 대상 검증, 관리자 선택기

생성된 앱 앱 사이의 다대일만 가능. 다대다, 역방향 컬렉션, cascade 없음

tests/reference-fields-e2e.test.js

결정론적 승인 정책: 임계값 이상의 갱신은 특정 사람이 승인될 때까지 기다립니다

기본 제공 갱신 객체와 하나의 값 임계값만 지원됨

tests/workflow.test.js, tests/api.test.js

에이전트가 사람의 승인 결정을 내릴 수 없음 — 계약이 아니라 테스트로 증명됨

행위자는 인증되지 않지만 확인됩니다. 정직한 에이전트 대상으로 유효하며 공격자를 대상으로는 아닙니다

tests/workflow.test.js

기회가 코드 우선 파이프라인 단계를 서버가 결정하는 작업으로 이동 — 클라이언트는 요청하고 서버가 결정

기본 제공 Opportunity 모듈에서 입증됨. 생성된 커스텀 객체에 대한 사용자 정의 파이프라인은 주장되지 않음

tests/opportunity-pipeline-e2e.test.js, tests/pipeline-contract.test.js

수작업 리드 캡처, 리드 보강, 설명 가능한 버전 점수 매기기, 결정론적인 라우팅, 자격 검증, 전환

보강은 fixture provider로 작동하며, 실제 데이터 소스는 연결되지 않음

tests/lead-intelligence-e2e.test.js, tests/lead-conversion-e2e.test.js

서버 가격 방식의 복합 견적 가능한 견적 버전, 승인 방식의 버전화 할인 정책

fixture catalog provider 사용, 통화(FX) 없이 센트 정수로만 처리 — 서로 다른 통화는 항상 합산되지 않음

tests/commercial-e2e.test.js

서명 봉투 → 검증된 이벤트 → 서명된 증거물 → 정확히 하나의 불변 주문으로 이어짐

fixture 서명 제공자, 테스트 전용 웹훅 키, 공급업체가 보고하는 산출물 해시

tests/signature-order-e2e.test.js

주문 활성화로 계약, 불변 계약 버전, 구독 및 반복 의무를 생성

청구, 갱신, 수정, 취소 함수는 하지 않음. 스케줄러는 무엇이 없음

tests/contracts-activation-e2e.test.js

프로젝트로 배송 전환 — 작업 패키지, 마일스톤, 선택적 파트너 각각 포함; 사람이 수행하는 실행

스케줄링, 인력 배정, 수락, 청구는 하지 않음. 결과물이 객체로 존재하지 않음

tests/delivery-handover-e2e.test.js, tests/delivery-execution-e2e.test.js

추가 전용 시간 및 비용 증거, 버전 정책으로 원가 계산, 재현 가능한 기여 추정치

의도적으로 마진이 아님: 수익 인식, 매출 원가, ARR/MRR, 외환 없음

tests/delivery-economics-e2e.test.js

고객이 만든 도메인 패키지가 커널 지문을 변경하지 않은 채 부착/분리됨

패키지를 초기화하는 scaffold는 빈 패키지를 쓰는 것 외에 아무 일도 하지 않음: 등록, 발행, 샌드박싱이 없으며 — 패키지 코드는 호스트의 권한으로 실행됨

tests/package-contract.test.js, tests/custom-package-e2e.test.js

accordo package scaffold <name> — 최소하고, 내용이 없으며 규정을 준수하는 로컬 패키지를 원자로 쓰고, 기본적으로 계획 시도 모드(dry-run)로 작성

비즈니스 로직을 만들어내지 않고, 묶음 생성하지 않으며, 전역적인 고유 ID를 검증하지 않고, 설치하거나 발행하지 않음

tests/package-scaffold.test.js, tests/package-test-command.test.js

crm app inspect — 애플리케이션 내용 하나의 결정론적, 소스만 사용하는 JSON 보고서

데이터베이스를 열거나, 제공자에 접속하거나, 시크릿을 읽지 않고 — 그리고 그것을 출력 결과에 명시적으로 말함

tests/app-inspect.test.js

crm solution check — Solution Plan은 표준 지문(正)으로 체크인된 계약입니다

문서 계층의 계약이지 플래너나 런타임이 아님; 어떤 플랜도 실행하지 않음

tests/solution-plan.test.js

crm scenario run — 체크인 된 두 개의 비즈니스 시나리오를 실제 구성된 애플리케이션에 돌려서 달성한 JTBD 행과 달성하지 않은 행 을 보고합니다

발견식이 아니라 시나리오에 의한 범위를 주장함. 어떤 행을 승격시키지 않고, 브라우저를 구동하지도 않으며, 각 실행은 하나의 구성에 대해서만 말합니다

tests/scenario-run.test.js

생성된 모듈이 명시적 리비전과 추가 전용 이름이 붙은 마이그레이션으로 진화함

소스 전용: 특정 데이터베이스가 어떤 것을 적용했는지는 여기에서 알 수 없음

tests/module-evolution.test.js

전체 스위트는 푸시할 때마다 스모크 테스트와 함께 돌아갑니다. 테스트 개수와 측정한 커밋은 site/claims.jsonmeasuredAgainst 값 아래에 있는데, 이 저장소에서 테스트 개수를 기입한 유일한 곳이며 npm run gtm:check가 숫자가 허용하는 유일한 곳입니다.

실행 방법

Node.js 22.16 이상, 사용하면 됩니다. 서드파티 런타임 의존성이 없고 빌드 단계가 없습니다.

npm run tour     # compose the whole application and inspect it
npm run verify   # source checks, then the whole test suite
npm run falsify  # break five rules on purpose and watch the suite catch them
npm run demo     # the approval slice, end to end
npm run dev      # http://localhost:4000

npm run tour로 이것이 실제로 무엇인지 가장 빠르게 볼 수 있습니다. 저장소의 기본 구성은 의도적으로 비어 있다 — 프로젝트는 원하는 대로 구성 데이터를 작성합니다. 따라서 새 클론에서 crm app inspect는 아무것도 보고하지 않습니다. 투어는 시작 설치를 실행합니다(CI가 모든 푸시마다 실행하는 같은 설치)를 디렉터리에 갭가 둔 다음 결과를 검사합니다:

  modules       76        resources     71        policies       7
  packages       9        actions       64        providers      1

  production posture — local development only: no authentication, tenancy or RBAC
                       exists, and actor headers are not identity

이 투어는 검사관이 볼 수 없다고 말하는 열한 가지로 끝납니다. 좋은 절반만 보여주는 투어는 운영할 가치가 없기 때문입니다. npm run tour -- --keep ./demo는 탐색할 수 있게 프로젝트를 남겨 둡니다. --json은 기계가 읽을 수 있는 영수증을 출력합니다.

npm run falsify는 반대 방향입니다. 테스트 개수는 작성된 양을 말해 줄 뿐, 테스트가 계속 통과하려면 무엇이 잘못되어야 하는지는 말해 주지 않습니다. 그래서 이 명령은 한 번에 하나씩 규칙을 제거합니다 — 승인의 인간 행위자 가드, 승인 임계값의 경계, 웹훅 서명 검증, 정책 버전 불변성, 완전 관리형 모듈이 공개 쓰기를 생성하지 않는다는 규칙 — 그 규칙을 방어해야 할 테스트 스위트를 실행하고, 그 규칙을 잡아낸 테스트의 이름을 밝힙니다. 커밋되지 않은 변경 사항이 있으면 실행을 거부하고, 건드린 모든 파일을 복원합니다. 살아남는 것은 모두 간극으로 출력되는데, 그것이 바로 유용한 출력이기 때문입니다 (docs/FALSIFY.md, tests/falsify.test.js).

npm run demo는 두 개의 갱신(renewal)을 생성하며, 모든 푸시에서 scripts/smoke.js가 이를 검증합니다:

  • €20,000 → Proposal 상태로 바로 이동합니다.

  • €80,000 → 관리자가 결정할 때까지 Approval Pending 상태에 머무릅니다.

코딩 에이전트에서 사용하기

Claude Code는 CLAUDE.md, .mcp.json, .claude/skills/를 읽습니다. Codex는 AGENTS.md.codex/config.toml을 읽습니다. 둘 다 체크인되어 있으며 서로 연결되어 있습니다.

Read AGENTS.md, PRODUCT.md and docs/PROJECT_STATUS.md.
Run npm run crm -- app inspect --json.
Tell me which parts of my commercial process this already supports, and which it does not.

하네스에는 명령 실행, stdout 읽기, 종료 코드 읽기, JSON 파싱, 파일 읽기/쓰기만 있으면 됩니다. MCP 서버도, 네트워크도, 자격 증명도, 데이터베이스도, 장기 실행 프로세스도 필요 없습니다 — docs/AGENT_HARNESS_COMPATIBILITY.md.

npm run crm -- app inspect --json          # what this application contains
npm run crm -- solution check plan.json    # is this plan still valid against it

종료 코드가 계약입니다: 0 유효 · 1 문제 발생, 보고서는 계속 출력됨 · 2 읽을 수 없음.

MCP 서버는 stdio로 실행되며(node --no-warnings packages/mcp/bin/server.js), 프로젝트 검사, 영업 기회 목록, 단계 변경 요청, 승인 결정, 실행 추적, 모듈 스캐폴딩을 제공합니다. 코드 생성 및 파괴적 도구는 명시적인 apply 플래그를 전달하지 않는 한 dry-run으로만 동작합니다 (tests/mcp.test.js, tests/scaffold.test.jsdocs/MCP.md). stdio 전용이자 로컬 전용입니다. 호스팅되거나 인증된 MCP 엔드포인트는 없으며, 서버는 서버를 시작한 프로세스의 권한을 이어받습니다.

어디서 멈추는가

위의 어떤 내용을 평가하기 전에 이 섹션을 읽으십시오. docs/benchmarks/CRM_JTBD_MATRIX.md는 모든 CRM 작업(job)을 보수적인 상태 어휘로 추적하는데, 여기서 지원되지 않음이 기본값이며 그 상태를 벗어나려면 증거가 필요합니다.

  • 인증, 테넌시(tenancy), RBAC이 없습니다. 서버는 로컬 개발 전용입니다. actor 헤더는 주장(assertion)일 뿐, 신원(identity)이 아닙니다. 네트워크에 노출하지 마십시오.

  • SQLite만 사용합니다. PostgreSQL은 Production Spine 트랙에 있으며 구현되지 않았습니다.

  • 빌드 벤치마크는 실행된 적이 없습니다. Successful Agent Build Rate는 존재하지 않습니다. 이 프로젝트에 귀속된 어떤 퍼센티지든 날조된 것입니다 — docs/strategy/CRM_BUILD_BENCHMARK.md는 결과가 아니라 프로토콜입니다.

  • 스케줄러도, 리마인더도, 타이머로 도는 것도 없습니다. 후속 작업(Follow-up Tasks)과 활동 타임라인(Activity timeline)은 하나의 공유 모델로 존재하며(docs/WORK_TASKS.md), 모든 항목은 사람이 직접 움직입니다. 마감일은 어떤 상태도 변경하지 않고, 반복되는 항목도 없으며, 할당되는 것도, 알림을 받는 것도 없습니다. 갱신 고지 기간은 기록만 될 뿐 결코 발동하지 않습니다.

  • 이메일, 캘린더, 마케팅 통합이 없습니다. 알림 제공자(notification provider) 계약은 존재하지만, 어떤 어댑터도 누구에게 아무것도 보내지 않습니다.

  • 가져오기, 내보내기, 중복 제거, 병합, 일괄 편집, 저장된 보기, 전역 검색이 없습니다. 모든 상용 CRM에서 기본 요건(table stakes)에 해당하지만, 그중 어느 것에도 아직 마일스톤이 없습니다.

  • 아직 실제 고객 데이터를 여기에 넣을 수 없습니다. 인증도, 테넌시도, 내보내기도, 삭제 경로도 없습니다. 따라서 정보주체의 열람 또는 삭제 요청은 이 시스템으로 처리할 수 없습니다. docs/strategy/DATA_GOVERNANCE.md는 설계 문서일 뿐입니다. 실제로 성립하는 유일한 것은 리드 스코어링이 결정적이고, 버전 관리되며, 설명 가능하다는 점입니다. 즉, 어떤 모델이 사람에 대해 내린 판단이 아닙니다.

  • 이것은 가입해서 사용하는 제품이 아니라 프레임워크입니다. 호스팅 CRM도, 무료 티어도, 계정도 없습니다. 산출물은 사용자가 직접 실행하는 애플리케이션입니다.

  • 소유권은 벤더링된 소스를 의미합니다. 올릴 프레임워크 의존성이 없습니다. npm create accordo — 게시된 create-accordo@0.1.0 — 는 프레임워크 소스를 프로젝트 안으로 복사하여, 부팅되고 app inspect에서 valid를 보고하며 project doctor에서 0으로 종료되는 프로젝트를 스캐폴딩합니다. 동일한 부트스트랩은 체크아웃에서도 실행됩니다(node packages/create-accordo/bin/create-accordo.js <dir> --apply, 설치도 네트워크도 필요 없음 — tests/project-bootstrap.test.js). 레지스트리가 건네주는 것은 프레임워크가 아니라 스캐폴더입니다. accordo 패키지는 의도적으로 비어 있는 0.0.1 이름 예약입니다. 프레임워크는 프로젝트에 벤더링되므로 결과물을 완전히 소유하게 됩니다. 업그레이드는 버전 올리기가 아니라 병합을 의미합니다.

다섯 개의 폴더로 구성된 아키텍처

packages/core/        the runtime platform: registry, services, workflow engine, audit
packages/modules/     CRM domain primitives
packages/domains/     optional domain packages (contracts, delivery) on a public contract
packages/mcp/         tools and context exposed to coding agents
apps/                 API server and generated Admin

에이전트는 데이터베이스 테이블에 직접 쓰지 않습니다. 대신 검증, 행위자 신원, 정책, 추적, 감사를 보존하는 서비스 메서드와 명명된 워크플로우를 호출합니다 — ARCHITECTURE.md.

문서

읽을 문서

용도

AGENTS.md

코드를 변경하기 전에 에이전트가 따라야 하는 규칙

PRODUCT.md

제품이 무엇이고 무엇이 아닌지

ARCHITECTURE.md

기술 모델과 확장 규칙

DECISIONS.md

의사결정 로그, ADR-001 … ADR-020

docs/PROJECT_STATUS.md

오늘날 저장소에서 사실인 것

docs/benchmarks/CRM_JTBD_MATRIX.md

모든 CRM 작업, 그 상태와 증거

docs/QUALITY_GATES.md

리뷰 규율, 적대적 리뷰(adversarial review) 범주 포함

docs/strategy/MASTER_PLAN.md

카테고리, 포지셔닝, 로드맵, 지표

docs/strategy/GO_TO_MARKET.md

이것이 사람들에게 어떻게 도달하는지, 그리고 무엇이 사람의 개입을 필요로 하는지

라이선스

MIT, ADR-023으로 확인됨.

A
license - permissive license
-
quality - not tested
A
maintenance

Maintenance

Maintainers
Response time
Release cycle
1Releases (12mo)
Commit activity

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • Agent-native CRM. 25 tools — contacts, deals, sequences, enrichment waterfall, audit log.

  • Runtime AI governance: decision gates, human approval, hash-chained audit, compliance mapping.

  • Deterministic compliance and vertical knowledge bases for autonomous agents. Free 24hr trial.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/khaoss85/agent-crm'

If you have feedback or need assistance with the MCP directory API, please join our Discord server