Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
24 commits
Select commit Hold shift + click to select a range
5af6df3
docs: add POSITIONING.md — TrustedOSS 포지셔닝 기준점
haksungjang Jun 4, 2026
5af45e2
chore: enable hakssung-tools 플러그인 세트 (bootstrap)
haksungjang Jun 4, 2026
096f52a
chore: Phase 0 고도화 기반 — 스코프 완화 + 쉬운·간결 품질 표준 + QA 게이트
haksungjang Jun 4, 2026
01ee321
fix: README clone URL을 trustedoss-agents로 통일
haksungjang Jun 4, 2026
c63a0f6
docs: Phase 1A 커버리지(1) — 중복 정리 + 공급망 위험평가 갭
haksungjang Jun 4, 2026
873f600
docs: Phase 1A c1 — 08-개발자가이드 ↔ AI코딩 Rules 템플릿 역할 구분
haksungjang Jun 4, 2026
088789e
fix: 잔여 클론 URL 9곳 trustedoss-agents로 통일
haksungjang Jun 4, 2026
ad303ad
docs: Phase 1A c2 — 갭: 정책 변경·운영 관리
haksungjang Jun 4, 2026
0898049
docs: Phase 1A c3 — 갭: AI코딩 ISO 매핑 페이지 신설
haksungjang Jun 4, 2026
bbb12c5
docs: Phase 1A c4 — 갭: 예외·라이선스 분류학 심화
haksungjang Jun 4, 2026
975e5c0
docs: Phase 1A c5a — how 하이브리드 A (sast·sca·secret·container)
haksungjang Jun 4, 2026
f19e861
docs: Phase 1A c5b — how 하이브리드 B (iac·dast·pipeline·monitoring)
haksungjang Jun 4, 2026
fbdc072
docs: progress.md — Phase 1A 완료 표기 (1B 메뉴 남음)
haksungjang Jun 4, 2026
3c74b32
feat: Phase 1B-a — navbar·footer에 Portal 출구 링크 추가
haksungjang Jun 4, 2026
786f34d
feat: Phase 1B-b — 체계구축 사이드바에 단계 번호+소요시간
haksungjang Jun 4, 2026
8ece35c
feat: Phase 1B-c — DevSecOps·AI코딩 intro에 '선택·개발팀용' 배너
haksungjang Jun 4, 2026
331ef18
feat: Phase 1B-d — 랜딩 Hero에 처음 담당자 환영 신호
haksungjang Jun 4, 2026
47631da
docs: progress.md — Phase 1 완료 표기 (커버리지+메뉴)
haksungjang Jun 4, 2026
92aab56
docs: Phase 2-a — 용어집(SSOT) 신설
haksungjang Jun 4, 2026
a50dcd0
docs: Phase 2-b — 06-training 정확성·쉬운 용어 개선
haksungjang Jun 4, 2026
180701b
docs: Phase 2-c — Top-5 챕터에 용어집 링크 (03·04·05·08)
haksungjang Jun 4, 2026
d3fe6e8
fix(ci): plugins lint — snackplayer 테스트 픽스처 추적 (gitignore 과광범위)
haksungjang Jun 4, 2026
d86729c
style(ci): lint-website prettier 전체 정리 (eslint --fix)
haksungjang Jun 4, 2026
9d83dfd
fix(ci): lint:examples — 예제 0개일 때 린터 건너뛰기
haksungjang Jun 4, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
13 changes: 13 additions & 0 deletions .claude/gate.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
#!/usr/bin/env bash
# quality-gate 커밋 게이트 — trustedoss
#
# quality-gate 플러그인이 커밋 전에 이 스크립트를 실행한다.
# 프로젝트의 단일 진실 검증인 verify.sh 를 그대로 위임 호출한다.
# (Docusaurus 빌드 / 내부 링크 / front matter / ISO 섹션 번호 /
# 로컬 경로 노출 / agent 체인 등 11개 항목)
set -euo pipefail

# 레포 루트로 이동 (.claude/ 의 부모)
cd "$(dirname "$0")/.."

bash .claude/scripts/verify.sh
35 changes: 35 additions & 0 deletions .claude/progress.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,41 @@

---

## 고도화 이니셔티브 (2026-06~)

POSITIONING.md 정체성에 맞춰 시스템·콘텐츠 고도화. 계획은 승인된 5단계 로드맵 참조.

| Phase | 이름 | 상태 |
| ----- | ------------------------- | ------------------------------- |
| 0 | 거버넌스·품질 기반 | ✅ 완료 |
| 1 | 메뉴 구조 + 커버리지 재검 | ✅ 완료 (1A 커버리지 + 1B 메뉴) |
| 2 | 용어집 + 콘텐츠 직접 개선 | ⏳ 대기 |
| 3 | 실습환경 | ⏳ 대기 |
| 4 | 데모환경 | ⏳ 대기 |

> 순서 변경(2026-06-04): IA·커버리지를 먼저 확정해야 콘텐츠·실습·데모 작업 방향이 잡히므로 '메뉴 구조+커버리지 재검'을 Phase 1로 올림.

**Phase 0 완료 내역 (2026-06-04):**

- `CLAUDE.md` 작업 범위 스코프 완화 — 고도화 목적 디자인/구조 변경 허용(4개 가드레일, POSITIONING §5 중립토큰 준수)
- `STYLEGUIDE.md` — 간결성 기준(결론 우선·한 문장 한 개념·200~350줄 밴드·반복 제거) + 쉬운 용어 규칙 + 약어·기술용어 풀이 표(~26개) 추가
- `.claude/skills/create-doc.md` — 쉬운 용어·간결성 필수 규칙 추가
- `.claude/gate.sh` 신설 — quality-gate 커밋 게이트(verify.sh 위임)
- `verify.sh` — STYLEGUIDE.md 로컬경로 오탐 제외(금지 패턴을 문서화하는 파일이므로). 검증 12/12 PASS
- 부트스트랩으로 `doc-qa`·`ko-style-lint`·`quality-gate` 플러그인 enable(다음 세션부터 `/qa` 자동 점검 반영)

**Phase 1 완료 내역 (2026-06-04):**

- 베이스라인 walkthrough(처음 담당자 시점)로 실제 마찰 발굴 → 클론 URL 불일치 10곳 통일(README+9파일)
- **1A 커버리지**: 중복 정리(ISO 매핑 정본화·SCA/SBOM/취약점 관계·08↔rules 역할) +
갭 4개(공급망 위험평가·정책 변경운영 §11·AI코딩 ISO매핑 신규·예외/라이선스 분류학) +
how 하이브리드 8파일(인라인 레시피 유지 + best-practice-repo 참조 프레이밍)
- **1B 메뉴(실속 보수안)**: navbar·footer Portal 출구 / 체계구축 사이드바 단계번호+시간 /
DevSecOps·AI코딩 intro '선택·개발팀용' 배너 / Hero 처음 담당자 환영 신호
- 청크 단위(c1~c5b, 1B-a~d)로 각각 verify 12/12 통과 후 개별 커밋(품질 저하 방지)

---

## 현재 단계 — 사용자 테스트 & 버그 리포트 대응

사용자가 가이드를 직접 따라가며 실습 동작을 검증하는 단계.
Expand Down
2 changes: 2 additions & 0 deletions .claude/scripts/verify.sh
Original file line number Diff line number Diff line change
Expand Up @@ -113,11 +113,13 @@ fi

# 검증 5: 로컬 경로 노출 확인
# (git ls-files 기준 — gitignore 된 파일 제외, verify.sh 자신 제외)
# STYLEGUIDE.md 는 "금지 패턴" 자체를 예시로 문서화하므로 verify.sh 와 같은 이유로 제외한다.
echo "[5/12] 로컬 경로 노출 확인..."
LOCAL_PATH_HITS=$(git ls-files \
-- '*.md' '*.sh' '*.yml' '*.yaml' '*.json' '*.ts' \
2>/dev/null | \
grep -v "^\.claude/scripts/verify\.sh$" | \
grep -v "^STYLEGUIDE\.md$" | \
grep -v "settings\.local\.json$" | \
grep -v "^\.claude/reference/kwg/" | \
grep -v "^tests/cassettes/" | \
Expand Down
12 changes: 12 additions & 0 deletions .claude/settings.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,5 +32,17 @@
]
}
]
},
"enabledPlugins": {
"permissions-presets@hakssung-tools": true,
"code-review@hakssung-tools": true,
"migration-kit@hakssung-tools": true,
"env-kit@hakssung-tools": true,
"doc-qa@hakssung-tools": true,
"quality-gate@hakssung-tools": true,
"common-hooks@hakssung-tools": true,
"playwright-qa@hakssung-tools": true,
"ko-style-lint@hakssung-tools": true,
"research-kit@hakssung-tools": true
}
}
45 changes: 35 additions & 10 deletions .claude/skills/create-doc.md
Original file line number Diff line number Diff line change
@@ -1,48 +1,68 @@
# Skill: 문서 생성 표준 (create-doc)

## 적용 대상

docs/ 하위 모든 index.md 및 가이드 문서

## 문서 상단 메타 블록 형식

모든 문서는 아래 메타 블록으로 시작한다.

---

작성일: YYYY-MM-DD
버전: 1.0
충족 체크리스트:
- "ISO/IEC 5230: [항목ID 목록]"
- "ISO/IEC 18974: [항목ID 목록]"
셀프스터디 소요시간: X시간

- "ISO/IEC 5230: [항목ID 목록]"
- "ISO/IEC 18974: [항목ID 목록]"
셀프스터디 소요시간: X시간

---

## YAML front matter 주의사항

**콜론(:)이 포함된 모든 값은 반드시 큰따옴표로 감싼다.**

올바른 예:

- `title: "개발자 가이드: Claude Code에서 정책 준수"`
- `- "ISO/IEC 5230: G1.1 (3.1.1), G1.5 (3.1.4)"`

잘못된 예 (빌드 오류 발생):

- `title: 개발자 가이드: Claude Code에서 정책 준수`
- `- ISO/IEC 5230: G1.1 (3.1.1)`

## 가이드 품질 기준

각 챕터 문서는 독자가 아래 세 가지 질문에 답할 수 있도록 작성한다.

| 질문 | 위치 |
|------|------|
| 질문 | 위치 |
| ------------------------------------- | ------------------------------------------------------------ |
| 표준이 이 챕터에서 무엇을 요구하는가? | "배경 지식" 섹션 — 해당 요구사항 항목(G번호, 섹션 번호) 명시 |
| 왜 해야 하는가? | "배경 지식" 섹션 — 실제 사례 또는 미이행 시 결과 제시 |
| 어떻게 준수하는가? | "셀프스터디 경로" 섹션 — agent 실행 → 산출물 생성 단계 안내 |
| 왜 해야 하는가? | "배경 지식" 섹션 — 실제 사례 또는 미이행 시 결과 제시 |
| 어떻게 준수하는가? | "셀프스터디 경로" 섹션 — agent 실행 → 산출물 생성 단계 안내 |

또한, 챕터가 어떤 입증자료(Verification Material)를 생성하는지 명확히 표시한다.

- "이 챕터에서 하는 일" 섹션: 생성될 산출물 파일 목록 나열
- 완료 확인 체크리스트: 생성된 파일 확인 항목 포함

### 쉬운 용어·간결성 (필수)

정확하되 **쉬운 용어로 핵심만 간결하게** 전달한다. 상세 규칙은 `STYLEGUIDE.md` §1 간결성 기준·§2 쉬운 용어 규칙 참조.

- **전문용어 풀이**: 약어·전문용어는 문서에서 처음 나올 때 괄호로 쉬운 풀이를 붙인다(STYLEGUIDE 약어표 기준). 예: "SBOM(소프트웨어 부품 명세서)".
- **결론 우선**: 각 섹션 첫 문장에 핵심·결론을 둔다.
- **한 문장 한 개념**: 짧게 쓰고 접속사로 길게 잇지 않는다.
- **길이 밴드**: `index.md` 본문 200~350줄 권장. 초과 시 분리·요약한다.
- **반복 제거**: 챕터 공통 안내는 표준 admonition으로 통일하고 고유 내용만 차별화한다.
- 작성 후 `/qa changed` 로 `doc-qa`·`ko-style-lint` 자동 점검을 통과시킨다.

## 섹션 구성 표준
모든 문서는 아래 섹션 순서를 따른다.

모든 문서는 아래 섹션 순서를 따른다.

1. 이 챕터에서 하는 일 (생성 산출물 목록 포함)
2. 배경 지식
Expand All @@ -56,13 +76,17 @@ docs/ 하위 모든 index.md 및 가이드 문서
5. 다음 단계 안내

## 체크리스트 항목 참조 형식

본문에서 체크리스트 항목 언급 시:

> 이 단계는 ISO/IEC 5230 [항목ID] 요구사항을 충족합니다.

18974 항목 참조 시 §4.x.x 체계 사용:

> 이 단계는 ISO/IEC 18974 §4.3.2 요구사항을 충족합니다.

## 셀프스터디 경로 admonition 형식

:::info 셀프스터디 모드 (약 ?시간)
충분한 시간을 갖고 각 단계를 이해하며 진행합니다.
:::
Expand All @@ -71,7 +95,7 @@ docs/ 하위 모든 index.md 및 가이드 문서

agent 실행을 안내할 때는 **반드시** 아래 형식을 사용한다.

```
````
:::tip 실행 전 확인
현재 Claude 세션을 먼저 종료(`/exit` 또는 `Ctrl+C`)한 뒤, 새 터미널에서 아래 명령을 실행하세요.
:::
Expand All @@ -80,11 +104,12 @@ agent 실행을 안내할 때는 **반드시** 아래 형식을 사용한다.
cd agents/XX-agent-name
claude
​```
```
````

**금지**: admonition 없이 bash 코드블록만 단독 배치하는 것은 금지한다.

## 링크 작성 규칙

- 외부 링크: 반드시 `https://` 로 시작
- 내부 링크: 상대 경로 사용
- 올바른 예: `[정책 생성](../../agents/03-policy-generator/)`
Expand Down
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,9 @@
output/
!output-sample/
!output/level2/.gitkeep
# 플러그인 테스트 픽스처(output/ 패턴에 걸리는 예외)
!plugins/remark-snackplayer/tests/output/
!plugins/remark-snackplayer/tests/output/*.html

# 로컬 Claude 설정
.claude/settings.local.json
Expand Down
13 changes: 8 additions & 5 deletions CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ ISO/IEC 5230 (라이선스 컴플라이언스)과 ISO/IEC 18974 (보안 보증)

## 작업 범위

이 프로젝트는 콘텐츠 작업만 한다.
디자인과 동작 방식은 수정하지 않는다.
이 프로젝트는 **콘텐츠가 중심**이다. 아래 표는 **기본 분류**이며, 2026-06 스코프 완화로
"작업 금지(X)" 항목(`website/src`·설정·navbar/sidebar 등)도 **고도화 목적이면 가드레일 하에 변경할 수 있다**.

| 작업 대상 (O) | 작업 금지 (X) |
| --------------------------- | ------------------------------------------ |
Expand All @@ -18,11 +18,14 @@ ISO/IEC 5230 (라이선스 컴플라이언스)과 ISO/IEC 18974 (보안 보증)
| `website/ai-coding/` (md만) | 설정 파일 전체 |
| `website/devsecops/` (md만) | |

**예외 — 아래 목적에 한해 허용:**
**스코프 완화 (2026-06):** 위 "작업 금지(X)" 항목도 고도화(쉬운·간결 콘텐츠, 실습·데모·메뉴·디자인 패리티) 목적이면 아래 가드레일 하에 변경 가능하다.

- `website/src/css/customTheme.scss` — sidebar 계층 구분 CSS 추가, 또는 테이블 가독성 개선 CSS 추가 목적에 한해 수정 가능
1. **브랜드** — `POSITIONING.md §5` 준수. 제품(포털) 팔레트에 굴복 금지, 중립 공용 토큰 원칙. 브랜드 토큰(주색상·폰트·로고) 변경 시 POSITIONING 근거를 명시한다.
2. **최소 변경** — 무분별한 재디자인 금지. 고도화 목표에 직접 기여하는 변경만 한다.
3. **검증** — 변경 후 `verify.sh` 11/11, 디자인/코드 변경 시 `cd website && npm run build` 통과.
4. **큰 변경은 확인** — 대규모 구조·디자인 변경은 방향을 사용자에게 먼저 확인한다.

콘텐츠 작업 중 디자인/코드 수정이 필요해 보이는 상황이 생기면 작업을 멈추고 사용자에게 확인하라.
`website/src/css/customTheme.scss` 의 sidebar 계층·테이블 가독성 CSS는 위 가드레일과 무관하게 계속 허용한다.

## 디렉토리 구조

Expand Down
110 changes: 110 additions & 0 deletions POSITIONING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
# TrustedOSS 포지셔닝 기준점

> 상태: **결정 완료** · 성격: 내부 의사결정 anchor (공개 마케팅 페이지 아님) · 빌드 비대상
>
> 이 문서는 cross-link·브랜드 토큰·URL/배포 같은 후속 결정의 기준점이다. 매번 원점에서
> 재논쟁하지 않도록 합의된 포지셔닝을 고정한다. 형제 문서: 포털측
> `trustedoss-portal/docs/site-strategy-two-sites.md`.

---

## 1. 브랜드 테제

> **TrustedOSS = "오픈소스를 신뢰하되, 그 신뢰를 벤더에게 위탁하지 않는다."**

자기주권형(self-sovereign) 오픈소스 신뢰. 공통의 적은 **상용 락인**이다 —
거버넌스 쪽의 값비싼 컨설팅, 도구 쪽의 상용 SCA(Black Duck·Snyk·Mend).
TrustedOSS는 그 둘을 **열린 표준 + 열린 도구**로 대체한다.

두 산출물은 같은 철학의 두 면이다:

- **가이드** = 신뢰의 _설계도_ (why / what)
- **포털** = 신뢰를 매일 돌리는 _엔진_ (how)

---

## 2. 가이드(우리)의 역할 — why · what

**"OSS 관리 경험이 0인 담당자도, 벤더 컨설팅 없이, 표준 기반 거버넌스 체계를 스스로 세워
자체 인증 선언까지 도달하게 한다."**

- 대상 표준: OpenChain · ISO/IEC **5230**(라이선스 컴플라이언스) + **18974**(보안 보증)
- 방식: 무료 셀프스터디 `docs/` 로 _왜·무엇을_ 가르치고, `agents/` 가 회사 맞춤 산출물
(정책·프로세스·RACI·SBOM 분석·취약점 리포트·선언문 초안)을 자동 생성
- 정체성: **에버그린 · 벤더중립 · CC BY 4.0 · 셀프스터디**
- 사이트: `https://trustedoss.github.io/` (루트, org-pages 레포 = 이 레포)

---

## 3. 포털의 역할 + 생긴 이유 — how · 엔진

**TrustedOSS Portal** = Apache-2.0 self-hosted SCA. "alternative to commercial SCA
products, no vendor lock-in"을 자기 정의로 박아둔 제품.

**왜 생겼나 — 가이드만으로는 닫히지 않는 간극:**

- 가이드(+agents)는 거버넌스 *체계*를 세우고 **1회성 산출물**을 만든다.
- 그러나 ISO 18974 / DevSecOps의 본질은 *지속 운영*이다 — CVE를 계속 추적(주간 DB 갱신·
신규 CVE 자동 재탐지)하고, 라이선스를 분류·승인 워크플로우로 돌리고, SBOM을 살아있게
export하고, CI 빌드를 게이트로 막는 것(Critical CVE/금지 라이선스 → exit 1).
- 이건 문서나 1회 리포트가 아니라 **돌아가는 제품**이 해야 하는 일이다
(FastAPI · PostgreSQL · Celery · RBAC · audit log).
- 그 운영 계층을 사려면 보통 **상용 SCA**를 사야 하고, 그게 바로 TrustedOSS가 없애려는 락인.

→ 포털은 그 간극을 **상용 SCA 없이 닫는 열린 실행 엔진**으로 태어났다.
사이트: `https://trustedoss.github.io/trustedoss-portal/` (프로젝트 레포 하위 경로).

---

## 4. 관계 모델

```
가이드 (why / 체계의 입구)
│ "표준 기반 OSS 관리체계를 세우려면"
│ "그래서 실제 스캔·SBOM·라이선스·CI 게이트가 필요하다면"
포털 (how / 매일 돌리는 도구)
설치 · 스캔 · 운영 · CI 연동 · API
```

토폴로지 결정: **"레포는 별도 유지, 경험은 통합"**

- **레포 축** — 합치지 않는다. 포털은 제품 릴리스에 빌드가 종속(OpenAPI 재생성)되고,
가이드는 에버그린이어야 하므로 둘을 합치면 가이드가 제품 CI에 인질이 된다.
- **경험 축** — 통합한다. 같은 도메인 + 양방향 cross-link + 공통 브랜드 시그니처로
"한 제품군"으로 읽히게 한다.

---

## 5. 의사결정 기준 (anchor)

| 사안 | 입장 | 근거 |
| ------------------------------------------------- | -------------------- | ------------------------------------------------------------------- |
| 같은 도메인 공존 (`trustedoss.github.io`) | **찬성** | 인지·SEO·신뢰 전이 이득, 비용 0 |
| 포털 하위 경로 (`/trustedoss-portal/`) | **찬성** | GitHub Pages 토폴로지의 의도된 결과 |
| 양방향 cross-link | **찬성 (우선 진행)** | why→how 퍼널의 핵심. 저비용·상호이득 |
| cross-link을 리브랜딩 후행 조건으로 묶기 | **반대** | 값싼 이득을 비싼 결정에 인질 잡지 않는다 |
| 가이드 브랜드를 **제품 정본**에 굴복(디자인 정합) | **반대** | 벤더중립이 가이드의 유일 자산. 제품 색을 입으면 훼손 |
| 포털 빌드/라우팅을 **우리 배포가 흡수** | **반대** | 제품 릴리스 결합이 우리 에버그린 배포로 역유입됨 |
| 브랜드 수렴 방향 | **중립 공용 토큰** | 제품 팔레트가 아니라, 특정 벤더로 안 읽히는 공용 토큰을 양측 합의로 |

**실행 범위 (2026-06 스코프 완화 반영):** DevSecOps/도구 `docs/` 본문 인라인 cross-link은 물론,
navbar·config 링크도 `CLAUDE.md` 스코프 완화로 가드레일 하에 가능. 단 **색상·브랜드 토큰 변경은
§5 '중립 공용 토큰' 원칙**을 따른다(제품 팔레트 직접 채택 금지).

---

## 6. 근거 패리티 (브랜드 일관성 증거)

| 신호 | 가이드 | 포털 |
| ---------------- | ---------------------------------- | ---------------------------------------------------- |
| 라이선스 | CC BY 4.0 | Apache-2.0 |
| 표준/포맷 | OpenChain · ISO 5230 · 18974 | OpenSSF Best Practices · CycloneDX · SPDX · VEX |
| 실행 주권 | 직접 클론 → Claude Code 실행 | self-hosted (`docker-compose`/Helm), no per-seat |
| 언어 | KO 기본 + EN (`defaultLocale: ko`) | EN + KO ("internationalized from day one") |
| 주색상 (현재) | `#06bcee` (시안) | `#0f172a` (딥 네이비) — _수렴 시 중립 공용 토큰으로_ |
| 본문 폰트 (현재) | Optimistic Display | Inter |

> 위 값은 실측 기준(가이드: `website/src/css/customTheme.scss`·`docusaurus.config.ts`,
> 포털: README·`docs-site/`). 색·폰트의 현재 불일치는 §5 기준에 따라 *제품 정본 채택이 아니라
> 중립 공용 토큰 합의*로 좁힌다.
8 changes: 4 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,10 +48,10 @@

```bash
# 1. 저장소 클론
git clone https://github.com/trustedoss/trustedoss.github.io.git
git clone https://github.com/trustedoss/trustedoss-agents.git

# 2. 프로젝트 진입 및 Claude Code 실행
cd trustedoss.github.io && claude
cd trustedoss-agents && claude

# 3. 시작 안내 요청
# "어디서 시작해야 해?" 입력
Expand Down Expand Up @@ -232,10 +232,10 @@ Browser-based tools are available with just an Anthropic API key.

```bash
# 1. Clone the repository
git clone https://github.com/trustedoss/trustedoss.github.io.git
git clone https://github.com/trustedoss/trustedoss-agents.git

# 2. Enter the project and launch Claude Code
cd trustedoss.github.io && claude
cd trustedoss-agents && claude

# 3. Ask for guidance (type in Korean)
# "어디서 시작해야 해?" (meaning: "Where should I start?")
Expand Down
Loading
Loading