---
title: "Syncthing .stignore 관리 리터레이트 문서"
url: "https://notes.junghanacs.com/notes/20251201T102844"
author: "Junghan Kim"
date: "2025-12-01T10:28:00+09:00"
lastmod: "2025-12-01T10:28:00+09:00"
tags: ["literate"]
description: "Syncthing의 .stignore 파일들을 리터레이트 문서에서 일괄 관리하는 노트이다."
---

> [!abstract] 이 노트에 대하여
> 
> 여러 폴더의 .stignore 규칙을 Org-babel tangle로 생성하는 방식으로 Syncthing 무시 규칙을 통합 관리한다. 아주 중요한 literate configuration 사례를 담은 노트다.

## 히스토리

-   [2025-12-01 Mon 11:59] 이건 정말 중요한 리터레이트다

## Syncthing .stignore Literate 관리

이 문서는 `~/sync/` 하위 모든 폴더의 `.stignore` 파일을 Literate Programming 방식으로 관리합니다.

### 사용법

Emacs에서 `C-c C-v t` (org-babel-tangle) 실행하면 모든 `.stignore` 파일이 생성됩니다.

### 공통 패턴 (Common)

#### 헤더

```cfg
// .stignore : Syncthing Ignoring File Pattern
// Read: https://docs.syncthing.net/v1.20.2/users/ignoring
// 모든 하위 폴더에 같은 규칙이 적용되어야 한다.
// Generated by: ~/org/llmlog/20251201T102844--syncthing-stignore-관리__llmlog_syncthing_literate.org
```

#### OS 및 에디터 임시 파일

```cfg
// ============================================
// OS 및 에디터 임시 파일
// ============================================
.DS_Store
.sw*
*.swp
*~
*.tmp
.vscode
```

#### Clojure/Java 개발 도구

```cfg
// ============================================
// Clojure/Java 개발 도구
// ============================================
.calva
.classpath
.clj-kondo/.cache
.cpcache
.eastwood
.factorypath
.java-version
.lein-*
.lsp/.cache
.lsp/sqlite.db
.nrepl-history
.nrepl-port
.portal
.project
.rebel_readline_history
.settings
.socket-repl-port
*.class
*.jar
classes
target
```

#### Obsidian 기본

```cfg
// ============================================
// Obsidian (동기화 충돌 방지)
// ============================================
.obsidian/workspace
.obsidian/workspace.json
.obsidian/workspace-mobile.json
```

### 언어별 패키지 매니저 (Package Managers)

개발 프로젝트가 있는 폴더에만 적용합니다.

```cfg
// ============================================
// 언어별 패키지/의존성 폴더 (Language Package Managers)
// ============================================

// Node.js / JavaScript / TypeScript
node_modules
.npm
.pnpm-store
.yarn
bower_components
.parcel-cache
.next
.nuxt
.svelte-kit

// Python
__pycache__
*.pyc
*.pyo
.venv
venv
env
// .env 파일은 환경변수이므로 동기화 대상 (제외하지 않음)
*.egg-info
dist
.pytest_cache
.mypy_cache
.ruff_cache
.tox
.nox
.coverage
htmlcov
.ipynb_checkpoints
pip-cache
.pip

// Rust
.cargo
// target (이미 Clojure/Java에서 정의됨)

// Go
vendor
pkg/mod

// Ruby
.bundle
vendor/bundle
.gem

// PHP (Composer)
// vendor (Go와 공유)

// Java / Kotlin / Gradle
.gradle
.m2
.ivy2
out

// Elixir / Erlang
deps
_build
.elixir_ls
.fetch

// Haskell
.stack-work
.cabal-sandbox
dist-newstyle

// Swift / iOS
Pods
.build
DerivedData

// Dart / Flutter
.dart_tool
.pub-cache
.packages

// Elm
elm-stuff

// .NET / C#
bin
obj
packages

// Zig
zig-cache
zig-out

// ============================================
// 일반 캐시/임시 파일 (General Cache/Temp)
// ============================================
.cache
.tmp
tmp
*.log
.turbo
.eslintcache
.stylelintcache
```

### 폴더별 특수 패턴 (Folder-Specific)

#### emacs 특수

```cfg
// ============================================
// emacs 폴더 특수
// ============================================
.mcfly.history.*
.zsh_history.laptop
org-mode-master

// Python 가상환경 (scripts 하위) - 레거시 호환
scripts/*/venv
scripts/*/.venv
scripts/*/env
```

#### family 특수

```cfg
// ============================================
// family 폴더 특수 (Hugo/Go 빌드)
// ============================================
_site
_gen
_obj
_test

// Go 빌드 산출물
*.[568vq]
[568vq].out
*.cgo1.go
*.cgo2.c
_cgo_defun.c
_cgo_gotypes.go
_cgo_export.*
_testmain.go
*.exe
*.test

// Hugo
.hugo_build.lock
static/ltximg
public
resources
bak

// 미디어 임시파일
*.part
*.webp
```

#### logseq 특수

```cfg
// ============================================
// logseq 폴더 특수
// ============================================
// Denote 관련
Document/notes
Document/vlog

// Zotero (별도 동기화)
better-bibtex.*
zotero.sqlite
zotero
```

#### org 특수

```cfg
// ============================================
// org 폴더 특수
// ============================================
// Obsidian 상세 (플러그인 등)
.obsidian/app.json
.obsidian/appearance.json
.obsidian/plugins
.obsidian/community-plugins.json
md/.obsidian/

// Org-roam (로컬에서 재생성)
org-roam.db
org-roam.db-journal
.orgids

// 기타 (별도 관리 또는 심볼릭링크)
mail
mydotfiles
obsd
logseq/assets
cheat
screenshot
```

#### screenshot 특수

```cfg
// ============================================
// screenshot 폴더 특수
// ============================================
// (추가 패턴 없음)
```

### Tangle 대상 파일들

#### ~/sync/emacs/.stignore

```cfg
<<header>>

<<os-editor>>

<<clojure-java>>

<<obsidian-basic>>

<<package-managers>>

<<emacs-specific>>
```

#### ~/sync/family/.stignore

```cfg
<<header>>

<<os-editor>>

<<clojure-java>>

<<obsidian-basic>>

<<family-specific>>
```

#### ~/sync/logseq/.stignore

```cfg
<<header>>

<<os-editor>>

<<clojure-java>>

<<obsidian-basic>>

<<logseq-specific>>
```

#### ~/sync/org/.stignore

```cfg
<<header>>

<<os-editor>>

<<clojure-java>>

<<obsidian-basic>>

<<org-specific>>
```

#### ~/sync/screenshot/.stignore

```cfg
<<header>>

<<os-editor>>

<<clojure-java>>

<<obsidian-basic>>

<<screenshot-specific>>
```

## 변경 이력

| 날짜       | 내용                     |
|----------|------------------------|
| 2025-12-01 | 초기 버전 생성. 언어별 패키지 매니저 통합 |
