Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
1 change: 1 addition & 0 deletions docs/00-overview/agents.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
---
description: 'AI 에이전트가 회사 맞춤 오픈소스 산출물을 자동 생성합니다. 에이전트와 챕터, 산출물 매핑을 한눈에 봅니다.'
작성일: 2026-06-05
버전: 1.0
충족 체크리스트:
Expand Down
3 changes: 2 additions & 1 deletion docs/00-overview/index.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
---
description: 'ISO/IEC 5230과 18974 기반 기업 오픈소스 관리 체계를 AI 에이전트로 단계별 구축하고 자체 인증까지 도달하는 전체 여정 개요.'
작성일: 2026-03-20
버전: 1.0
충족 체크리스트:
Expand All @@ -14,7 +15,7 @@ slug: /

관리 체계 없이 이 책임을 지다 보면 문제가 생긴다. GPL 라이선스를 놓쳐 제품 배포가 중단되거나, Log4Shell처럼 SBOM 없이는 영향 범위 파악조차 못하는 사고를 겪거나, EU Cyber Resilience Act·미국 EO 14028 같은 규제 대응에서 고객사에 SBOM을 제출하지 못하는 상황이 발생합니다.

이 키트는 **오픈소스 관리 경험이 없는 담당자**가 체계를 처음부터 끝까지 구축할 수 있도록 설계되었다. Claude Code Agent가 회사 상황을 직접 물어보며 정책, 조직, 프로세스, SBOM, 교육, 인증 산출물을 자동으로 만들어 준다. ISO/IEC 5230(라이선스 컴플라이언스)과 ISO/IEC 18974(보안 보증), 두 표준의 공통 기반을 한 번에 구축해 중복 작업을 40% 줄인다.
이 키트는 **오픈소스 관리 경험이 없는 담당자**가 체계를 처음부터 끝까지 구축할 수 있도록 설계되었다. Claude Code Agent가 회사 상황을 직접 물어보며 정책, 조직, 프로세스, <Term k="sbom">SBOM</Term>, 교육, 인증 산출물을 자동으로 만들어 준다. ISO/IEC 5230(라이선스 컴플라이언스)과 ISO/IEC 18974(보안 보증), 두 표준의 공통 기반을 한 번에 구축해 중복 작업을 40% 줄인다.

---

Expand Down
3 changes: 2 additions & 1 deletion docs/00-overview/quick-start.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
---
description: '5분 만에 시작하는 기업 오픈소스 관리. 무설치 데모로 결과를 먼저 보고 AI 에이전트로 첫 산출물을 만듭니다.'
작성일: 2026-06-05
버전: 1.0
충족 체크리스트:
Expand All @@ -16,7 +17,7 @@ TrustedOSS는 AI 에이전트로 OpenChain 2026(ISO/IEC 5230·18974) 기업 오
## 언제 쓰나요

- 기업 오픈소스 관리를 처음 맡아 무엇부터 할지 막막할 때
- 자체 인증에 필요한 정책, 프로세스, SBOM 등 산출물을 빠르게 만들어야 할 때
- 자체 인증에 필요한 정책, 프로세스, <Term k="sbom">SBOM</Term> 등 산출물을 빠르게 만들어야 할 때
- 만든 정책을 CI 파이프라인과 AI 코딩 도구에 자동으로 적용하고 싶을 때

## 지금 해보기
Expand Down
1 change: 1 addition & 0 deletions docs/00-overview/start-path.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
---
description: '목표에 맞는 시작 경로를 고릅니다. 자체 인증만, 개발팀과 함께, 이미 정책 있음 중에서 선택하세요.'
작성일: 2026-06-05
버전: 1.0
충족 체크리스트:
Expand Down
1 change: 1 addition & 0 deletions docs/03-policy/index.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
---
description: 'KWG 11절 구조의 회사 맞춤 오픈소스 정책을 AI 에이전트로 생성합니다. 라이선스 분류와 배포 방식별 의무도 함께 다룹니다.'
작성일: 2026-03-20
버전: 1.0
충족 체크리스트:
Expand Down
1 change: 1 addition & 0 deletions docs/05-tools/index.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
---
description: '무료 오픈소스 도구로 SBOM을 만들고 취약점에 대응합니다. syft, grype, OSV 실습 통합 인덱스.'
작성일: 2026-06-05
버전: 1.0
충족 체크리스트:
Expand Down
4 changes: 4 additions & 0 deletions website/docusaurus.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -309,6 +309,10 @@ const config: Config = {
label: 'GitHub',
href: 'https://github.com/trustedoss',
},
{
label: '기여 가이드',
href: 'https://github.com/trustedoss/trustedoss.github.io/blob/main/CONTRIBUTING.md',
},
],
},
{
Expand Down
1 change: 1 addition & 0 deletions website/reference/intro.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
id: intro
title: 레퍼런스
slug: intro
description: '산출물 Best Practice, 정본 개념 페이지(라이선스 분류, 취약점 대응 기한), 용어집, 에이전트 선택 가이드를 모은 레퍼런스.'
---

# 레퍼런스
Expand Down
36 changes: 36 additions & 0 deletions website/src/components/Term/index.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
/**
* trustedoss Term — 용어 호버/포커스 툴팁
* 사용: <Term k="sbom">SBOM</Term> 또는 <Term def="설명">용어</Term>
* 초심자가 본문에서 약어 위에 마우스를 올리거나 포커스하면 풀이가 뜬다.
* CC BY 4.0 · OpenChain KWG · haksungjang
*/

import React from 'react';
import {GLOSSARY} from '@site/src/data/glossary';

import styles from './styles.module.css';

function Term({
k,
def,
children,
}: {
k?: string;
def?: string;
children: React.ReactNode;
}) {
const text = def ?? (k ? GLOSSARY[k] : undefined);
if (!text) {
return <>{children}</>;
}
return (
<span className={styles.term} tabIndex={0}>
{children}
<span className={styles.tip} role="tooltip">
{text}
</span>
</span>
);
}

export default Term;
60 changes: 60 additions & 0 deletions website/src/components/Term/styles.module.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
/**
* trustedoss Term styles — 점선 밑줄 + 호버/포커스 툴팁 (중립 토큰)
*/

.term {
position: relative;
border-bottom: 1px dotted var(--ifm-color-emphasis-500);
cursor: help;
outline: none;
}

.tip {
position: absolute;
left: 50%;
bottom: calc(100% + 8px);
transform: translateX(-50%) translateY(4px);
z-index: 30;
width: max-content;
max-width: 280px;
padding: 0.55rem 0.7rem;
border-radius: 8px;
border: 1px solid var(--ifm-color-emphasis-300);
background: var(--ifm-background-surface-color, var(--ifm-background-color));
color: var(--ifm-font-color-base);
font-size: 0.8rem;
font-weight: 400;
line-height: 1.5;
text-align: left;
white-space: normal;
box-shadow: 0 8px 24px -8px rgba(0, 0, 0, 0.3);
opacity: 0;
visibility: hidden;
transition:
opacity 0.14s ease,
transform 0.14s ease;
}

.tip::after {
content: "";
position: absolute;
top: 100%;
left: 50%;
transform: translateX(-50%);
border: 6px solid transparent;
border-top-color: var(--ifm-color-emphasis-300);
}

.term:hover .tip,
.term:focus-visible .tip,
.term:focus .tip {
opacity: 1;
visibility: visible;
transform: translateX(-50%) translateY(0);
}

@media (max-width: 480px) {
.tip {
max-width: 220px;
}
}
21 changes: 21 additions & 0 deletions website/src/data/glossary.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
/**
* 용어 호버 툴팁용 정의 맵 — 용어집(reference/glossary)의 핵심 항목과 동기화.
* <Term k="sbom">SBOM</Term> 형태로 본문에서 사용한다.
*/

export const GLOSSARY: Record<string, string> = {
sbom: '소프트웨어 부품 명세서 — 제품에 들어간 모든 오픈소스 구성요소와 버전·라이선스 목록.',
spdx: 'SBOM·라이선스 표준 포맷 (Linux Foundation).',
cyclonedx: 'SBOM 표준 포맷의 하나 (OWASP).',
copyleft:
'카피레프트 — 파생물도 같은 라이선스로 공개하도록 요구하는 라이선스 유형 (GPL, AGPL 등).',
permissive:
'허용적 라이선스 — 고지 위주로 제약이 적은 유형 (MIT, Apache-2.0, BSD).',
cve: '공개 취약점 식별번호 — 알려진 취약점에 부여되는 고유 번호.',
cvss: '취약점 심각도 점수 — 0~10으로 위험도를 표시.',
vex: '취약점 영향 알림 — 해당 취약점이 우리 제품에 실제 영향을 주는지 표기.',
sca: '소프트웨어 구성 분석 — 오픈소스 구성요소의 취약점·라이선스를 점검.',
openchain: '오픈소스 컴플라이언스 국제표준 프로젝트 (ISO/IEC 5230·18974).',
'self-certification':
'외부 심사 없이 OpenChain 요구사항 충족을 스스로 선언하는 방식.',
};
2 changes: 2 additions & 0 deletions website/src/theme/MDXComponents/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,15 @@ import Mermaid from '@theme/Mermaid';

import JourneyProgress from '@site/src/components/JourneyProgress';
import Prerequisite from '@site/src/components/Prerequisite';
import Term from '@site/src/components/Term';

import type {MDXComponentsObject} from '@theme/MDXComponents';

const MDXComponents: MDXComponentsObject = {
Head,
JourneyProgress,
Prerequisite,
Term,
details: MDXDetails, // For MD mode support, see https://github.com/facebook/docusaurus/issues/9092#issuecomment-1602902274
Details: MDXDetails,
code: MDXCode,
Expand Down
Loading