gitifact 0.7.0 → 0.7.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/README.md +45 -32
  2. package/dist/browser/assets/{Grid-D1SNqxih.js → Grid-DlI9bhVm.js} +1 -1
  3. package/dist/browser/assets/{Markdown-DKZFXPE0.js → Markdown-68DgpF6D.js} +1 -1
  4. package/dist/browser/assets/{MetadataListItem-BHqMTUIy.js → MetadataListItem-Bvdm7SCW.js} +1 -1
  5. package/dist/browser/assets/{Table-DykMjEgT.js → Table-GZptlOQa.js} +1 -1
  6. package/dist/browser/assets/{about-CwpTU41C.js → about-LBmmoJtj.js} +1 -1
  7. package/dist/browser/assets/{activity-DJ808sVo.js → activity-paVxugse.js} +1 -1
  8. package/dist/browser/assets/{changelog-DWK3Qw5N.js → changelog-DMndHW2p.js} +1 -1
  9. package/dist/browser/assets/{contributors._email-Bu46gkJ8.js → contributors._email-Ch0pZAte.js} +1 -1
  10. package/dist/browser/assets/{contributors.index-DGAkSUmH.js → contributors.index-BwSL0x8o.js} +1 -1
  11. package/dist/browser/assets/{document-CUHZSDYL.js → document-Ceyg9sKE.js} +1 -1
  12. package/dist/browser/assets/{features._featureId-CZ1QE69X.js → features._featureId-DtlIpe3Y.js} +1 -1
  13. package/dist/browser/assets/{features.index-C0Ecj5SM.js → features.index-CsxYbWGn.js} +1 -1
  14. package/dist/browser/assets/{getting-started-Bo0MbK7i.js → getting-started-LVh16CZ8.js} +1 -1
  15. package/dist/browser/assets/{git-C77vcInF.js → git-H0K9dpC3.js} +1 -1
  16. package/dist/browser/assets/{index-CgDfX0u7.js → index-DClmARNh.js} +16 -16
  17. package/dist/browser/assets/page-header-sbYRXZP4.js +531 -0
  18. package/dist/browser/assets/product-BIGIVBUa.js +10 -0
  19. package/dist/browser/assets/product-DNaVAIwO.css +1 -0
  20. package/dist/browser/assets/{product.index-C_eXOx4v.js → product.index-vzVtG_rC.js} +1 -1
  21. package/dist/browser/assets/{request-state-H0vXVi6T.js → request-state-J0QLm_8G.js} +1 -1
  22. package/dist/browser/assets/{requirements-jd-dp9SQ.js → requirements-POF-07kZ.js} +1 -1
  23. package/dist/browser/assets/{settings-CCOYFeaM.js → settings-eas7Zq56.js} +1 -1
  24. package/dist/browser/assets/{wiki-DZmdT1pI.js → wiki-fpAHbhnh.js} +1 -1
  25. package/dist/browser/index.html +10 -10
  26. package/dist/i18n/en/block.md +4 -4
  27. package/dist/i18n/en/changelog.md +11 -0
  28. package/dist/i18n/en/docs/workflow.md +8 -2
  29. package/dist/i18n/ko/block.md +4 -4
  30. package/dist/i18n/ko/changelog.md +11 -0
  31. package/dist/i18n/ko/docs/workflow.md +8 -2
  32. package/dist/main.js +284 -111
  33. package/package.json +1 -1
  34. package/dist/browser/assets/page-header-DcMV32eV.js +0 -505
  35. package/dist/browser/assets/product-BSEt07YP.css +0 -1
  36. package/dist/browser/assets/product-CN8SmBrX.js +0 -10
@@ -14,7 +14,7 @@
14
14
  crossorigin
15
15
  />
16
16
  <title>Gitifact</title>
17
- <script type="module" crossorigin src="/assets/index-CgDfX0u7.js"></script>
17
+ <script type="module" crossorigin src="/assets/index-DClmARNh.js"></script>
18
18
  <link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-hePW80VL.js">
19
19
  <link rel="modulepreload" crossorigin href="/assets/themeProps-CfjLB1h4.js">
20
20
  <link rel="modulepreload" crossorigin href="/assets/useIsomorphicLayoutEffect-DByj3svz.js">
@@ -23,23 +23,23 @@
23
23
  <link rel="modulepreload" crossorigin href="/assets/Icon-EsJf4C7A.js">
24
24
  <link rel="modulepreload" crossorigin href="/assets/useScrollLock-CmZKJxOo.js">
25
25
  <link rel="modulepreload" crossorigin href="/assets/container.stylex-6OsSOpKw.js">
26
- <link rel="modulepreload" crossorigin href="/assets/page-header-DcMV32eV.js">
26
+ <link rel="modulepreload" crossorigin href="/assets/page-header-sbYRXZP4.js">
27
27
  <link rel="modulepreload" crossorigin href="/assets/IconButton-CgOx1Jog.js">
28
28
  <link rel="modulepreload" crossorigin href="/assets/useDevWarning-gW8_bNZ_.js">
29
- <link rel="modulepreload" crossorigin href="/assets/Table-DykMjEgT.js">
29
+ <link rel="modulepreload" crossorigin href="/assets/Table-GZptlOQa.js">
30
30
  <link rel="modulepreload" crossorigin href="/assets/Tooltip-QZg2pB5o.js">
31
31
  <link rel="modulepreload" crossorigin href="/assets/useClipboard-CTfBnLlg.js">
32
- <link rel="modulepreload" crossorigin href="/assets/Markdown-DKZFXPE0.js">
32
+ <link rel="modulepreload" crossorigin href="/assets/Markdown-68DgpF6D.js">
33
33
  <link rel="modulepreload" crossorigin href="/assets/appearance-CDQ4fLdE.js">
34
- <link rel="modulepreload" crossorigin href="/assets/document-CUHZSDYL.js">
35
- <link rel="modulepreload" crossorigin href="/assets/Grid-D1SNqxih.js">
34
+ <link rel="modulepreload" crossorigin href="/assets/document-Ceyg9sKE.js">
35
+ <link rel="modulepreload" crossorigin href="/assets/Grid-DlI9bhVm.js">
36
36
  <link rel="modulepreload" crossorigin href="/assets/Section-BEbhTpxd.js">
37
- <link rel="modulepreload" crossorigin href="/assets/MetadataListItem-BHqMTUIy.js">
38
- <link rel="modulepreload" crossorigin href="/assets/request-state-H0vXVi6T.js">
39
- <link rel="modulepreload" crossorigin href="/assets/product-CN8SmBrX.js">
37
+ <link rel="modulepreload" crossorigin href="/assets/MetadataListItem-Bvdm7SCW.js">
38
+ <link rel="modulepreload" crossorigin href="/assets/request-state-J0QLm_8G.js">
39
+ <link rel="modulepreload" crossorigin href="/assets/product-BIGIVBUa.js">
40
40
  <link rel="stylesheet" crossorigin href="/assets/page-header-ClRsIf4A.css">
41
41
  <link rel="stylesheet" crossorigin href="/assets/document-ChObsStB.css">
42
- <link rel="stylesheet" crossorigin href="/assets/product-BSEt07YP.css">
42
+ <link rel="stylesheet" crossorigin href="/assets/product-DNaVAIwO.css">
43
43
  <link rel="stylesheet" crossorigin href="/assets/index-DJrBgKkG.css">
44
44
  </head>
45
45
  <body>
@@ -2,11 +2,12 @@
2
2
 
3
3
  gitifact v{version} · {language} · storage schemaVersion 2
4
4
 
5
- CLI: run commands as `gitifact <cmd>`. Follow a different invocation if the project instructions specify one.
5
+ CLI: use `npx --yes gitifact@{version} <cmd>` by default. Below, `gitifact` stands for this invocation. Follow the project's instructions if they specify another method, such as a local installation or global command.
6
6
 
7
7
  ### At the start
8
8
 
9
- - If `gitifact` is unavailable, the CLI needed for this project is missing. Tell the user and obtain consent to install it with `npm install -g gitifact@{version}`. If installation is not possible, do not guess how to save specifications or commit them.
9
+ - A global installation is optional. Version-pinned npx uses a matching project dependency or downloads the package to the npm cache. If execution or downloading is blocked, request the required approval and explain the cause. Do not substitute manual specification saves or commits, or claim completion without running the CLI.
10
+ - Once per new session, run `gitifact update --check` with the pinned version. If the result is `available`, ask whether to update; run the suggested new-version `update` command only with consent. If declined, unavailable, or disabled, continue with the pinned version and do not ask again in that session. After updating, reread the block and use its new version. Commit and push only when separately authorized.
10
11
  - Run `gitifact spec working` to read wiki pages, feature specifications, and warnings. Check git status and existing staging.
11
12
  - This block is a summary. Read `gitifact docs <topic>` for detailed formats instead of relying on memory.
12
13
 
@@ -34,7 +35,6 @@ Record product behavior and constraints that must be maintained.
34
35
  - SELF-CHECK: before preparing save or commit input, reread the relevant docs and compare formats. If unsure, run `gitifact docs <topic>` instead of guessing.
35
36
  - Write save and commit JSON to the inputs paths returned by `spec working`. The CLI removes the file on success. Do not save query results or docs output to files; rerun them when needed.
36
37
  - When the user asks to see requirements, project status, or change history, start `gitifact browser` in the background and share its URL. Do not substitute a chat summary.
37
-
38
38
  ### Commands
39
39
 
40
40
  - `docs <topic>`: {topics}
@@ -42,7 +42,7 @@ Record product behavior and constraints that must be maintained.
42
42
  - `spec save --file <json|->`: save requirements, designs, and wiki pages
43
43
  - `spec commit --file <json|->`: record reasons and commit in one operation
44
44
  - `browser`: run the read-only browser server; prints a URL and keeps running
45
- - `update [--commit]`: check for a new version, show installation instructions, and refresh this block to the installed version. `--commit` commits files whose only changes are within the block, using a fixed message
45
+ - `update [--check | --commit]`: `--check` only checks versions. Without it, refresh this block to the running version; `--commit` commits block-only changes with a fixed message
46
46
  - `init`: create configuration and this block when adopting Gitifact
47
47
 
48
48
  ---
@@ -1,3 +1,14 @@
1
+ ## 0.7.1 - 2026-09-21
2
+ ### Added
3
+ - Agent instructions now ask agents to check for updates at the start of a session and refresh the instructions with the user's consent. The new `update --check` command checks for updates without changing files.
4
+ ### Changed
5
+ - Setup guidance now uses npx without requiring a global install. Agent instructions pin the CLI version, while everyday examples in the README and Getting started use the shorter `npx gitifact` command.
6
+ ### Removed
7
+ - Removed browser update notifications and server-side update checks. The current version and release notes remain available. Also removed the `browser --no-update-check` option.
8
+ ### Fixed
9
+ - Merged work now retains the original commit's author and reasons instead of being attributed to the person who merged it. Ordinary merges no longer duplicate activity, while records edited during a merge remain attributed to that merge commit. Existing history indexes are rebuilt automatically.
10
+ - Fixed the project name, search, and refresh header disappearing when scrolling a long, paginated feature requirements list.
11
+
1
12
  ## 0.7.0 - 2026-09-20
2
13
  ### Added
3
14
  - A GitHub link at the bottom of the sidebar opens the project repository in a new tab.
@@ -4,7 +4,13 @@ The user describes the product and keeps developing. The agent organizes product
4
4
 
5
5
  ## Start and check the format
6
6
 
7
- Check the working path, branch, Git status, and existing staging. Read applicable AGENTS.md and CLAUDE.md files in full. Use the CLI invocation specified by the project; `gitifact` below stands for that invocation. If the CLI is missing, tell the user and obtain consent before installing the version at the top of the block (`npm install -g gitifact@<version>`). Do not install it or change global configuration unilaterally. Continue available investigation while waiting; do not guess how to save specifications or commit them.
7
+ Check the working path, branch, Git status, and existing staging. Read applicable AGENTS.md and CLAUDE.md files in full. Follow the project's CLI invocation. If none is specified, run `npx --yes gitifact@<version> <command>` with the version at the top of the block. Below, `gitifact` stands for that invocation. npx uses a matching project dependency or downloads the package to the npm cache; no global installation is required.
8
+
9
+ Do not skip Gitifact work just because the global command is missing or global installation requires permission. Add a project dependency or install globally only when the user chooses that method. If execution or network access is blocked, request the required approval and explain the cause. `--yes` only suppresses npm's installation prompt; it does not grant execution permissions. Continue available investigation, but do not substitute manual specification saves or commits, or claim completion without running the CLI.
10
+
11
+ Once per new session, run `gitifact update --check` with the pinned version. This command leaves files, the index, and commits unchanged. If the result is `available`, tell the user the current and new versions and ask whether to update. Do not refresh instructions or switch versions before consent. If declined, keep the pinned version and do not ask again in that session. `unavailable` means the check failed, not that the CLI is up to date. If the check fails or is disabled through `GITIFACT_NO_UPDATE_CHECK`, continue with the pinned version.
12
+
13
+ Update using the project's chosen method. For npx, run `npx --yes gitifact@<new-version> update` to refresh the version in the block. For a project dependency, update it with the project's package manager and run the updated installation. Global installation instructions apply only when using the global command.
8
14
 
9
15
  Check configuration, actual files, and CLI help to choose the applicable workflow. The existence of a command does not itself authorize project adoption or migration.
10
16
 
@@ -16,7 +22,7 @@ init creates `.gitifact/config.json`, an adoption baseline, and `.gitifact/wiki/
16
22
 
17
23
  After updating the CLI, run `update` (or `init`) to refresh the block. `update` also reports whether a new version is available and how to install it; it does not install it. Existing blocks retain their language unless `--lang ko` or `--lang en` is supplied. New blocks follow the CLI language. Project documents keep their own language.
18
24
 
19
- When the user requests an update, use `update --commit`. It commits only tracked instruction files whose changes are entirely inside the block, with the fixed message `chore(gitifact): refresh GITIFACT block to v<version>`, preserving other staging. If a file also has changes outside the block, is untracked, or Git rejects the commit, it reports `commit.reason` without committing. Tell the user; do not change the message and commit by another route.
25
+ After updating, reread the block and use its new version. Once the refreshed instructions are committed and shared, teammates use that version in new sessions after pulling. Consent to update does not authorize a commit or push. Use `update --commit` only when committing is also authorized. It commits only tracked instruction files whose changes are entirely inside the block, with the fixed message `chore(gitifact): refresh GITIFACT block to v<version>`, preserving other staging. If a file also has changes outside the block, is untracked, or Git rejects the commit, it reports `commit.reason` without committing. Tell the user; do not change the message and commit by another route.
20
26
 
21
27
  ## Read context
22
28
 
@@ -2,11 +2,12 @@
2
2
 
3
3
  gitifact v{version} · {language} · 저장 규약 schemaVersion 2
4
4
 
5
- CLI: 모든 명령은 `gitifact <cmd>`로 실행한다. 프로젝트 지침이 다른 실행 방법을 지정하면 그것을 따른다.
5
+ CLI: 기본 실행은 `npx --yes gitifact@{version} <cmd>`다. 아래 `gitifact`는 이 실행 방법을 뜻한다. 프로젝트가 로컬 설치본이나 전역 명령 등 다른 실행 방법을 지정하면 그것을 우선한다.
6
6
 
7
7
  ### 시작할 때
8
8
 
9
- - `gitifact` 명령이 없으면 이 프로젝트에 참여하는 데 필요한 CLI가 설치되지 않은 것이다. 사용자에게 알리고 동의를 받아 `npm install -g gitifact@{version}`으로 설치한 뒤 진행한다. 설치하지 못하면 명세 저장·커밋을 추측으로 대신하지 않는다.
9
+ - 전역 설치는 필수가 아니다. 지정 버전의 npx 실행은 같은 버전의 프로젝트 설치본을 사용하고, 없으면 npm 캐시에 받아 실행한다. 실행 권한이나 다운로드가 막히면 필요한 승인을 요청하고 원인을 알린다. CLI 실행 없이 명세 저장·커밋을 대신하거나 완료했다고 보고하지 않는다.
10
+ - 새 세션에서 한 번 `gitifact update --check`로 지정 버전보다 새 버전이 있는지 확인한다. `available`이면 사용자에게 업데이트할지 묻고, 동의한 경우에만 안내된 새 버전으로 `update`를 실행한다. 거절·확인 실패·조회 비활성화 시에는 지정 버전으로 계속하며 같은 세션에서 다시 묻지 않는다. 갱신 후에는 블록을 다시 읽고 새 버전을 사용한다. 커밋·푸시는 별도 권한을 따른다.
10
11
  - `gitifact spec working`으로 위키·기능 명세·경고를 읽고 git status와 기존 staging을 확인한다.
11
12
  - 이 블록은 요약이다. 상세 형식은 `gitifact docs <topic>`으로 읽고 기억으로 채우지 않는다.
12
13
 
@@ -34,7 +35,6 @@ CLI: 모든 명령은 `gitifact <cmd>`로 실행한다. 프로젝트 지침이
34
35
  - SELF-CHECK: save·commit 입력을 만들기 전에 해당 docs를 다시 읽고 형식을 대조한다. 확실하지 않으면 추측하지 말고 `gitifact docs <topic>`을 실행한다.
35
36
  - save·commit 입력 JSON은 `spec working`이 알려 준 inputs 경로에 쓴다. 성공하면 CLI가 지운다. 조회 결과와 docs 출력은 파일로 저장하지 않고 필요할 때 다시 실행한다.
36
37
  - 사용자가 요구사항·프로젝트 현황·변경 이력을 보여 달라고 하면 `gitifact browser`를 백그라운드로 실행하고 출력된 URL을 알려 준다. 채팅 요약으로 대신하지 않는다.
37
-
38
38
  ### 명령
39
39
 
40
40
  - `docs <topic>`: {topics}
@@ -42,7 +42,7 @@ CLI: 모든 명령은 `gitifact <cmd>`로 실행한다. 프로젝트 지침이
42
42
  - `spec save --file <json|->`: 요구사항·설계·위키 저장
43
43
  - `spec commit --file <json|->`: 변경 이유 기록과 커밋을 한 번에
44
44
  - `browser`: 읽기 전용 브라우저 서버 실행, URL 출력 후 계속 실행
45
- - `update [--commit]`: 새 버전 확인과 설치 안내, 이 블록을 현재 버전으로 갱신. `--commit`은 블록만 바뀐 파일을 고정 메시지로 커밋한다
45
+ - `update [--check | --commit]`: `--check`는 읽기 전용 버전 확인. 옵션 없이는 이 블록을 실행 버전으로 갱신하며 `--commit`은 블록만 바뀐 파일을 고정 메시지로 커밋한다
46
46
  - `init`: 처음 도입할 때 설정과 이 블록을 만든다
47
47
 
48
48
  ---
@@ -1,3 +1,14 @@
1
+ ## 0.7.1 - 2026-09-21
2
+ ### Added
3
+ - 에이전트가 새 세션에서 업데이트를 확인하고 사용자 동의 후 지침을 갱신하도록 안내합니다. 직접 확인할 때는 파일을 바꾸지 않는 `update --check`를 사용할 수 있습니다.
4
+ ### Changed
5
+ - 전역 설치 없이 npx로 시작하도록 안내합니다. 에이전트 지침은 실행 버전을 고정하고, README와 시작하기의 일상 명령은 `npx gitifact`로 간단히 표시합니다.
6
+ ### Removed
7
+ - 브라우저의 업데이트 알림과 서버의 새 버전 조회를 제거했습니다. 현재 버전과 패치노트는 계속 확인할 수 있습니다. `browser --no-update-check` 옵션도 제거했습니다.
8
+ ### Fixed
9
+ - 병합된 작업이 머지 담당자의 활동으로 표시되던 문제를 고쳤습니다. 원본 작성자와 변경 이유를 유지하고 단순 병합의 중복 집계를 제외합니다. 병합 중 추가로 수정한 기록은 병합 커밋에 남깁니다. 기존 이력 색인은 자동으로 다시 생성됩니다.
10
+ - 페이지 이동 버튼이 있는 긴 기능별 요구사항 목록에서 스크롤하면 프로젝트명·검색·새로고침 헤더가 사라지던 문제를 고쳤습니다.
11
+
1
12
  ## 0.7.0 - 2026-09-20
2
13
  ### Added
3
14
  - 사이드바 하단의 GitHub 링크로 제품 저장소를 새 탭에서 열 수 있습니다.
@@ -4,7 +4,13 @@
4
4
 
5
5
  ## 시작과 형식 확인
6
6
 
7
- 현재 경로·브랜치·Git 상태와 기존 staging을 확인하고 적용되는 AGENTS.md·CLAUDE.md를 원문으로 읽는다. 지침에서 지정한 CLI를 사용한다. 아래 `gitifact`는 그 실행 방법을 뜻한다. CLI가 없다면 이 프로젝트에 참여하는 데 필요한 도구가 빠진 것이다. 설치·전역 설정 변경을 임의로 하지 않고, 사용자에게 알린 뒤 동의를 받아 블록 첫머리에 적힌 버전으로 설치한다(`npm install -g gitifact@<버전>`). 설치 전에는 가능한 조사부터 진행하고 명세 저장·커밋을 추측으로 대신하지 않는다.
7
+ 현재 경로·브랜치·Git 상태와 기존 staging을 확인하고 적용되는 AGENTS.md·CLAUDE.md를 원문으로 읽는다. 프로젝트가 정한 CLI 실행 방법을 우선하고, 별도 지정이 없으면 블록 첫머리의 버전으로 `npx --yes gitifact@<버전> <명령>`을 실행한다. 아래 `gitifact`는 선택한 실행 방법을 뜻한다. 같은 버전의 프로젝트 의존성이 있으면 사용하고, 없으면 npm 캐시에 받아 실행하므로 전역 설치는 필요하지 않다.
8
+
9
+ 전역 명령이 없거나 전역 설치 권한이 없다는 이유만으로 Gitifact 작업을 건너뛰지 않는다. 프로젝트 의존성 추가와 전역 설치는 사용자가 그 방식을 선택했을 때 한다. 실행·네트워크 권한이 막히면 필요한 승인을 요청하고 원인을 알린다. `--yes`는 npm의 설치 확인만 생략하며 실행 환경의 권한을 바꾸지 않는다. 가능한 조사는 계속하되 CLI 실행 없이 명세 저장·커밋을 대신하거나 완료했다고 보고하지 않는다.
10
+
11
+ 새 세션에서는 지정 버전으로 `gitifact update --check`를 한 번 실행한다. 이 명령은 파일·index·커밋을 바꾸지 않는다. `available`이면 현재·새 버전을 알려 주고 업데이트할지 묻는다. 동의 전에는 지침을 갱신하거나 새 버전으로 작업하지 않는다. 거절하면 지정 버전으로 계속하며 같은 세션에서 다시 묻지 않는다. `unavailable`은 확인 실패이며 최신이라는 뜻이 아니다. 실패하거나 `GITIFACT_NO_UPDATE_CHECK`로 조회를 껐으면 지정 버전으로 작업을 이어간다.
12
+
13
+ 업데이트는 프로젝트의 실행 방식을 따른다. npx를 쓰면 새 버전으로 `npx --yes gitifact@<새 버전> update`를 실행해 블록의 버전을 갱신한다. 프로젝트 의존성으로 관리하면 해당 패키지 관리자로 버전을 올리고 업데이트한 설치본을 실행한다. 전역 설치 안내는 전역 명령을 선택한 경우에만 적용한다.
8
14
 
9
15
  설정과 실제 파일, CLI 도움말을 함께 확인해 다음 중 하나의 흐름을 선택한다. 명령이 존재한다는 사실만으로 프로젝트 사용이나 전환이 허용되지는 않는다.
10
16
 
@@ -12,7 +18,7 @@
12
18
  - **이전 형식:** `schemaVersion: 1`(0.4.x)과 workflow-1·prototype-1·init-1 설정은 현재 CLI가 조회·기록하지 않는다. 기존 기록을 삭제하거나 새 형식으로 가장하지 않고, 정식 버전 전 규약이라 전환 도구가 없다고 알린다. 사용자가 원하면 기록을 보존한 채 새로 도입한다.
13
19
  - **미도입:** 도입이 허용됐으면 Git 상태와 지침을 확인하고 `init --dry-run`, `init`으로 연결한다. Git 저장소가 없으면 Git 생성 권한을 확인한다. 기존 변경과 staging을 보존한다.
14
20
 
15
- init은 `.gitifact/config.json`과 도입 기준선, 위키 운영 방침을 담은 `.gitifact/wiki/README.md`를 만들고, AGENTS.md 등 에이전트 지침 파일에 `<!-- GITIFACT:START -->`와 `<!-- GITIFACT:END -->` 사이의 블록을 쓴다. 블록이 AGENTS.md에 들어가고 CLAUDE.md가 없으면 `@AGENTS.md` 한 줄짜리 CLAUDE.md를 함께 만든다. 마커 바깥의 내용은 건드리지 않는다. 요구사항·커밋은 만들지 않는다. 블록은 규칙의 요약이며, 상세 형식은 `gitifact docs <topic>`으로 읽는다. CLI를 업데이트한 뒤 `update`(또는 `init`)를 실행하면 블록이 갱신된다. 기존 블록의 언어는 유지하며, `--lang ko` 또는 `--lang en`을 지정한 경우에만 바꾼다. 새 블록은 CLI 언어를 따르고 프로젝트 문서는 기존 언어를 유지한다. `update`는 새 버전 여부와 설치 방법도 알려 주며 설치를 직접 실행하지는 않는다. 사용자가 업데이트를 요청하면 `update --commit`을 쓴다. 블록 안만 바뀐 지침 파일을 `chore(gitifact): refresh GITIFACT block to v<버전>` 메시지로 그 파일만 커밋하고, 다른 staging은 그대로 둔다. 블록 밖에도 수정이 있거나 추적하지 않는 파일이거나 Git이 커밋을 거부하면 커밋하지 않고 `commit.reason`으로 알린다. 이때 에이전트가 메시지를 바꿔 대신 커밋하지 않고 사용자에게 알린다.
21
+ init은 `.gitifact/config.json`과 도입 기준선, 위키 운영 방침을 담은 `.gitifact/wiki/README.md`를 만들고, AGENTS.md 등 에이전트 지침 파일에 `<!-- GITIFACT:START -->`와 `<!-- GITIFACT:END -->` 사이의 블록을 쓴다. 블록이 AGENTS.md에 들어가고 CLAUDE.md가 없으면 `@AGENTS.md` 한 줄짜리 CLAUDE.md를 함께 만든다. 마커 바깥의 내용은 건드리지 않는다. 요구사항·커밋은 만들지 않는다. 블록은 규칙의 요약이며, 상세 형식은 `gitifact docs <topic>`으로 읽는다. CLI를 업데이트한 뒤 `update`(또는 `init`)를 실행하면 블록이 갱신된다. 기존 블록의 언어는 유지하며, `--lang ko` 또는 `--lang en`을 지정한 경우에만 바꾼다. 새 블록은 CLI 언어를 따르고 프로젝트 문서는 기존 언어를 유지한다. `update`는 새 버전 여부와 설치 방법도 알려 주며 설치를 직접 실행하지는 않는다. 갱신 후에는 블록을 다시 읽고 새 버전으로 작업한다. 갱신된 지침이 커밋·공유되면 다른 팀원도 pull한 뒤 새 세션에서 그 버전을 사용한다. 업데이트 동의만으로 커밋·푸시하지 않는다. 커밋까지 요청받았을 때만 `update --commit`을 쓴다. 블록 안만 바뀐 지침 파일을 `chore(gitifact): refresh GITIFACT block to v<버전>` 메시지로 그 파일만 커밋하고, 다른 staging은 그대로 둔다. 블록 밖에도 수정이 있거나 추적하지 않는 파일이거나 Git이 커밋을 거부하면 커밋하지 않고 `commit.reason`으로 알린다. 이때 에이전트가 메시지를 바꿔 대신 커밋하지 않고 사용자에게 알린다.
16
22
 
17
23
  ## 맥락 읽기
18
24