README
// 프로젝트 폴더 스캔
const allFiles = dv.pages('"KnowledgeBase/01_Projects"').where(p => !p.file.name.includes("README"));
// 폴더별 그룹화 및 프로젝트 정보 추출
const projects = {};
for (let file of allFiles) {
const pathParts = file.file.path.split("/");
if (pathParts.length >= 3) {
const folder = pathParts[2];
if (!projects[folder]) {
projects[folder] = { files: [], name: folder.replace(/^P\d+_/, "").replace(/_/g, " ") };
}
projects[folder].files.push(file);
}
}
// KPI 계산
const totalProjects = Object.keys(projects).length;
const totalFiles = allFiles.length;
// 요약 정보
dv.header(2, "📊 프로젝트 현황");
dv.paragraph(`**총 ${totalProjects}개 프로젝트** · ${totalFiles}개 파일 · 업데이트: ${dv.luxon.DateTime.now().toFormat("MM-dd HH:mm")}`);
// 프로젝트 목록
dv.table(
["프로젝트", "파일 수", "최근 파일"],
Object.entries(projects)
.sort(([a], [b]) => a.localeCompare(b))
.map(([folder, data]) => {
const recentFile = data.files.sort((a, b) => b.file.mtime - a.file.mtime)[0];
return [
data.name,
`${data.files.length}개`,
recentFile ? recentFile.file.link : "-"
];
})
);| 구분 | 핵심 규칙/내용 | 체크포인트 |
|---|---|---|
| 목적 | 데드라인과 결과물이 있는 활동을 시작→진행→완료→Archive로 관리 | ☐ 완료 기준·마감 명시 |
| 정의 | 완료 기준 구체적 데드라인 결과물 완료 시 Archive 이동 |
☐ 3요소 충족 확인 |
| 상태 | 진행중 대기중 중단 완료 |
☐ 상태 태그 최신화 |
| 문서 구조 | 01_현황분석 02_목표설정 03_실행계획 04_진행일지 05_이슈트래킹 99_완료보고서 |
☐ 최소 README/목표/완료보고 |
| 프로세스 | Inbox→ 프로젝트화 → 폴더생성 → 기본문서 진행: 일일/주간 업데이트 완료: 완료보고서→Archive |
☐ 주간 점검 필수 |
| 태그 | #프로젝트진행중 #프로젝트대기중 #프로젝트중단 #프로젝트완료 우선순위: 높음 중간 낮음 |
☐ 상태/우선순위 동기화 |
| 리뷰 | 주간: 진행/우선순위/이슈 점검 월간: 포트폴리오/장기PJ/신규 파이프라인 |
☐ 주간/월간 체크 |
| 지표 | 완료율 · 평균기간 · 계획대비시간 · 만족도 | ☐ 메트릭 업데이트 |
댓글
첫 번째 댓글을 남겨보세요.