gitifact 0.8.1 → 0.8.3
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.
- package/README.md +45 -37
- package/dist/THIRD_PARTY_NOTICES.txt +26 -0
- package/dist/browser/assets/{BottomSheet-7C5eiOji.js → BottomSheet-BFoM6syr.js} +1 -1
- package/dist/browser/assets/Grid-DCCm_m5g.js +1 -0
- package/dist/browser/assets/HgiRefresh-UIdBFt6N.js +1 -0
- package/dist/browser/assets/{HoverCard-D6keobP0.js → HoverCard-Bpt8LVFT.js} +1 -1
- package/dist/browser/assets/{Icon-EsJf4C7A.js → Icon-DPaLmsmh.js} +3 -3
- package/dist/browser/assets/{IconButton-CgOx1Jog.js → IconButton-Br-4XhQr.js} +1 -1
- package/dist/browser/assets/{Markdown-Droxhk-G.js → Markdown-CR_AHfxJ.js} +4 -4
- package/dist/browser/assets/{MenuBottomSheet-BOGxMa05.js → MenuBottomSheet-Dgz4h1S7.js} +1 -1
- package/dist/browser/assets/{MetadataListItem-C3SqHyk0.js → MetadataListItem-BEwPg27H.js} +1 -1
- package/dist/browser/assets/ProgressBarMarkTooltip-BxGSd9KS.js +1 -0
- package/dist/browser/assets/{Section-BEbhTpxd.js → Section-Z2PuhE6c.js} +1 -1
- package/dist/browser/assets/Selector-CPFOT7Wj.js +2 -0
- package/dist/browser/assets/Tab-DL11wx1W.js +1 -0
- package/dist/browser/assets/{Table-D4v8xCrw.js → Table-BK5793GP.js} +3 -3
- package/dist/browser/assets/{TimestampHoverCard-qfGbCkoP.js → TimestampHoverCard-B5JBaQDZ.js} +1 -1
- package/dist/browser/assets/Token-BnQGlhSv.js +2 -0
- package/dist/browser/assets/Token-Bqkc8eyB.css +1 -0
- package/dist/browser/assets/{Tooltip-QZg2pB5o.js → Tooltip-MoU3alsv.js} +1 -1
- package/dist/browser/assets/about-3BiGgi3V.js +3 -0
- package/dist/browser/assets/activity-timeline-CCrOFWbb.js +2 -0
- package/dist/browser/assets/{appearance-CDQ4fLdE.js → appearance-DyJA06C4.js} +1 -1
- package/dist/browser/assets/changelog-DMiOCVuF.js +1 -0
- package/dist/browser/assets/commit-CMw0y1Oj.js +4 -0
- package/dist/browser/assets/{container.stylex-6OsSOpKw.js → container.stylex-rwI38dw9.js} +1 -1
- package/dist/browser/assets/contributor-Cg_cxulE.js +1 -0
- package/dist/browser/assets/contributors-ol5bZm_T.js +1 -0
- package/dist/browser/assets/contributors._email-BoTYVUTP.js +1 -0
- package/dist/browser/assets/contributors.index-DrdKDOYt.js +1 -0
- package/dist/browser/assets/dashboard.index-BUzgcF91.js +1 -0
- package/dist/browser/assets/document-C2htw6u5.js +2 -0
- package/dist/browser/assets/document-Cmx0e6kz.css +1 -0
- package/dist/browser/assets/document-CteWuasx.js +19 -0
- package/dist/browser/assets/features-DUHxz0_L.css +1 -0
- package/dist/browser/assets/features-haTu80rD.js +2 -0
- package/dist/browser/assets/features._featureId-CHZA4Y9C.js +1 -0
- package/dist/browser/assets/features.index-BY8ScP1y.js +1 -0
- package/dist/browser/assets/getting-started-GU6t7LF-.js +1 -0
- package/dist/browser/assets/git-D2zVLj_w.js +1 -0
- package/dist/browser/assets/index-D1JeDnJc.css +1 -0
- package/dist/browser/assets/index-DaKOj2qL.js +49 -0
- package/dist/browser/assets/instructions-mU0nkIyN.js +1 -0
- package/dist/browser/assets/instructions._instructionId-D-pztPg5.js +1 -0
- package/dist/browser/assets/instructions.agents-WcmyZITb.js +1 -0
- package/dist/browser/assets/instructions.index-BEJLVyZD.js +1 -0
- package/dist/browser/assets/lazyRouteComponent-DcCLQOpn.js +1 -0
- package/dist/browser/assets/load-more-YVDkQmcp.js +1 -0
- package/dist/browser/assets/lottie_light-DSIvQuvH.js +2 -0
- package/dist/browser/assets/page-header-DTEyUWBS.css +1 -0
- package/dist/browser/assets/page-header-rHElc4Gv.js +246 -0
- package/dist/browser/assets/records._recordId-CQAy7eOv.js +1 -0
- package/dist/browser/assets/records.commits._commit-BP1KDLvt.js +1 -0
- package/dist/browser/assets/records.index-CZ6iNU57.js +1 -0
- package/dist/browser/assets/records.working-Bv9veUIm.js +1 -0
- package/dist/browser/assets/rocket-loader-CMSP4Jri.js +1 -0
- package/dist/browser/assets/search-CSSuO-jR.js +1 -0
- package/dist/browser/assets/settings-D2ZdL-Vu.js +1 -0
- package/dist/browser/assets/{themeProps-CfjLB1h4.js → themeProps-CkLe5zXY.js} +1 -1
- package/dist/browser/assets/{useClipboard-CTfBnLlg.js → useClipboard-Cqx6Upy7.js} +1 -1
- package/dist/browser/assets/useDevWarning-Dudfg3qF.js +1 -0
- package/dist/browser/assets/useInfiniteQuery-guh_cfSb.js +1 -0
- package/dist/browser/assets/{useIsomorphicLayoutEffect-DByj3svz.js → useIsomorphicLayoutEffect-BiEJxDg_.js} +1 -1
- package/dist/browser/assets/useKeyboardHint-BD_Jlpwp.js +1 -0
- package/dist/browser/assets/{useMediaQuery-CqJr5z44.js → useMediaQuery-twbHF0pO.js} +1 -1
- package/dist/browser/assets/{useScrollLock-CmZKJxOo.js → useScrollLock-D-Y-zHSV.js} +1 -1
- package/dist/browser/index.html +46 -25
- package/dist/browser/licenses/rocket-in-space-lottie.txt +29 -0
- package/dist/i18n/en/block.md +4 -6
- package/dist/i18n/en/changelog.md +27 -0
- package/dist/i18n/en/docs/commit.md +1 -1
- package/dist/i18n/en/docs/workflow.md +7 -7
- package/dist/i18n/ko/block.md +4 -6
- package/dist/i18n/ko/changelog.md +27 -0
- package/dist/i18n/ko/docs/commit.md +1 -1
- package/dist/i18n/ko/docs/workflow.md +5 -5
- package/dist/main.js +1279 -559
- package/package.json +1 -1
- package/dist/browser/assets/Banner-c1hFCLs8.js +0 -1
- package/dist/browser/assets/Grid-BrUBBmhu.js +0 -1
- package/dist/browser/assets/ProgressBarMarkTooltip-C5Moep_o.js +0 -1
- package/dist/browser/assets/Selector-D_xYW7R_.js +0 -2
- package/dist/browser/assets/Tab-VVHagF2Z.js +0 -1
- package/dist/browser/assets/Token-BLd8-jfF.js +0 -1
- package/dist/browser/assets/about-DeUi-_2z.js +0 -3
- package/dist/browser/assets/activity-timeline-bFoqFwVu.js +0 -2
- package/dist/browser/assets/changelog-Brd1Ninm.js +0 -2
- package/dist/browser/assets/changelog-CxmMo2wk.css +0 -1
- package/dist/browser/assets/commit-CiMtFlZl.js +0 -4
- package/dist/browser/assets/contributor-C_IskSHq.js +0 -1
- package/dist/browser/assets/contributors-CbwXLc7M.js +0 -1
- package/dist/browser/assets/contributors._email-BRfre3dw.js +0 -1
- package/dist/browser/assets/contributors.index-CV84owW7.js +0 -1
- package/dist/browser/assets/dashboard-CMSj2wu3.css +0 -1
- package/dist/browser/assets/dashboard.index-CQdr7hsf.js +0 -1
- package/dist/browser/assets/document-BZmiLx-e.js +0 -2
- package/dist/browser/assets/document-DEGaf2yT.css +0 -1
- package/dist/browser/assets/document-JLY2-z8S.js +0 -19
- package/dist/browser/assets/features-Cj41kcXf.js +0 -4
- package/dist/browser/assets/features-g3j2elTj.css +0 -1
- package/dist/browser/assets/features._featureId-BgFHsRcy.js +0 -1
- package/dist/browser/assets/features.index-Ca0rzFW6.js +0 -1
- package/dist/browser/assets/getting-started-CgL3Vi9o.js +0 -1
- package/dist/browser/assets/git-B7oxggGB.js +0 -1
- package/dist/browser/assets/git-D_wcK2vC.css +0 -1
- package/dist/browser/assets/index-CmU7dwFQ.css +0 -1
- package/dist/browser/assets/index-DWRGm9YO.js +0 -48
- package/dist/browser/assets/instructions-D3cdAPD3.js +0 -1
- package/dist/browser/assets/instructions._instructionId-BkT14646.js +0 -1
- package/dist/browser/assets/instructions.agents-B3jLRl1u.js +0 -1
- package/dist/browser/assets/instructions.index-8qlhSXoy.js +0 -1
- package/dist/browser/assets/lazyRouteComponent-JkRa2CHo.js +0 -1
- package/dist/browser/assets/page-header-CPL7myjo.js +0 -1
- package/dist/browser/assets/page-header-atX8Nsmd.css +0 -1
- package/dist/browser/assets/records-Dk3shbYl.css +0 -1
- package/dist/browser/assets/records-page-B4Al3fIQ.js +0 -1
- package/dist/browser/assets/records-page-D2F1WJrh.css +0 -1
- package/dist/browser/assets/records._recordId-Chn1SO5R.js +0 -1
- package/dist/browser/assets/records.commits._commit-D4Wk4i_m.js +0 -1
- package/dist/browser/assets/records.index-CViTeD08.js +0 -1
- package/dist/browser/assets/records.working-BsHKMIz-.js +0 -1
- package/dist/browser/assets/request-state-oiWyP9c-.js +0 -1
- package/dist/browser/assets/search-BCYi0CBz.js +0 -1
- package/dist/browser/assets/search-palette-D0ctICJy.js +0 -561
- package/dist/browser/assets/search-palette-DpmGOAIg.css +0 -1
- package/dist/browser/assets/settings-BDVKHrS8.js +0 -1
- package/dist/browser/assets/useDevWarning-gW8_bNZ_.js +0 -1
- package/dist/browser/assets/useInfiniteQuery-Bn_R13Ih.js +0 -1
- package/dist/browser/assets/useKeyboardHint-lSxUw5Qj.js +0 -1
package/dist/browser/index.html
CHANGED
|
@@ -14,34 +14,55 @@
|
|
|
14
14
|
crossorigin
|
|
15
15
|
/>
|
|
16
16
|
<title>Gitifact</title>
|
|
17
|
-
<script type="module" crossorigin src="/assets/index-
|
|
17
|
+
<script type="module" crossorigin src="/assets/index-DaKOj2qL.js"></script>
|
|
18
18
|
<link rel="modulepreload" crossorigin href="/assets/rolldown-runtime-hePW80VL.js">
|
|
19
|
-
<link rel="modulepreload" crossorigin href="/assets/themeProps-
|
|
20
|
-
<link rel="modulepreload" crossorigin href="/assets/useIsomorphicLayoutEffect-
|
|
21
|
-
<link rel="modulepreload" crossorigin href="/assets/useMediaQuery-
|
|
19
|
+
<link rel="modulepreload" crossorigin href="/assets/themeProps-CkLe5zXY.js">
|
|
20
|
+
<link rel="modulepreload" crossorigin href="/assets/useIsomorphicLayoutEffect-BiEJxDg_.js">
|
|
21
|
+
<link rel="modulepreload" crossorigin href="/assets/useMediaQuery-twbHF0pO.js">
|
|
22
22
|
<link rel="modulepreload" crossorigin href="/assets/preload-helper-BZ1Pz5am.js">
|
|
23
|
-
<link rel="modulepreload" crossorigin href="/assets/Icon-
|
|
24
|
-
<link rel="modulepreload" crossorigin href="/assets/useScrollLock-
|
|
25
|
-
<link rel="modulepreload" crossorigin href="/assets/container.stylex-
|
|
26
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
27
|
-
<link rel="modulepreload" crossorigin href="/assets/IconButton-
|
|
28
|
-
<link rel="modulepreload" crossorigin href="/assets/useDevWarning-
|
|
29
|
-
<link rel="modulepreload" crossorigin href="/assets/Table-
|
|
30
|
-
<link rel="modulepreload" crossorigin href="/assets/Tooltip-
|
|
31
|
-
<link rel="modulepreload" crossorigin href="/assets/useClipboard-
|
|
32
|
-
<link rel="modulepreload" crossorigin href="/assets/Markdown-
|
|
33
|
-
<link rel="modulepreload" crossorigin href="/assets/appearance-
|
|
34
|
-
<link rel="modulepreload" crossorigin href="/assets/document-
|
|
35
|
-
<link rel="modulepreload" crossorigin href="/assets/HoverCard-
|
|
36
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
37
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
38
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
39
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
40
|
-
<link rel="modulepreload" crossorigin href="/assets/
|
|
41
|
-
<link rel="
|
|
23
|
+
<link rel="modulepreload" crossorigin href="/assets/Icon-DPaLmsmh.js">
|
|
24
|
+
<link rel="modulepreload" crossorigin href="/assets/useScrollLock-D-Y-zHSV.js">
|
|
25
|
+
<link rel="modulepreload" crossorigin href="/assets/container.stylex-rwI38dw9.js">
|
|
26
|
+
<link rel="modulepreload" crossorigin href="/assets/page-header-rHElc4Gv.js">
|
|
27
|
+
<link rel="modulepreload" crossorigin href="/assets/IconButton-Br-4XhQr.js">
|
|
28
|
+
<link rel="modulepreload" crossorigin href="/assets/useDevWarning-Dudfg3qF.js">
|
|
29
|
+
<link rel="modulepreload" crossorigin href="/assets/Table-BK5793GP.js">
|
|
30
|
+
<link rel="modulepreload" crossorigin href="/assets/Tooltip-MoU3alsv.js">
|
|
31
|
+
<link rel="modulepreload" crossorigin href="/assets/useClipboard-Cqx6Upy7.js">
|
|
32
|
+
<link rel="modulepreload" crossorigin href="/assets/Markdown-CR_AHfxJ.js">
|
|
33
|
+
<link rel="modulepreload" crossorigin href="/assets/appearance-DyJA06C4.js">
|
|
34
|
+
<link rel="modulepreload" crossorigin href="/assets/document-CteWuasx.js">
|
|
35
|
+
<link rel="modulepreload" crossorigin href="/assets/HoverCard-Bpt8LVFT.js">
|
|
36
|
+
<link rel="modulepreload" crossorigin href="/assets/Token-BnQGlhSv.js">
|
|
37
|
+
<link rel="modulepreload" crossorigin href="/assets/HgiRefresh-UIdBFt6N.js">
|
|
38
|
+
<link rel="modulepreload" crossorigin href="/assets/document-C2htw6u5.js">
|
|
39
|
+
<link rel="modulepreload" crossorigin href="/assets/Section-Z2PuhE6c.js">
|
|
40
|
+
<link rel="modulepreload" crossorigin href="/assets/Selector-CPFOT7Wj.js">
|
|
41
|
+
<link rel="modulepreload" crossorigin href="/assets/lazyRouteComponent-DcCLQOpn.js">
|
|
42
|
+
<link rel="modulepreload" crossorigin href="/assets/useKeyboardHint-BD_Jlpwp.js">
|
|
43
|
+
<link rel="modulepreload" crossorigin href="/assets/Tab-DL11wx1W.js">
|
|
44
|
+
<link rel="modulepreload" crossorigin href="/assets/useInfiniteQuery-guh_cfSb.js">
|
|
45
|
+
<link rel="modulepreload" crossorigin href="/assets/load-more-YVDkQmcp.js">
|
|
46
|
+
<link rel="modulepreload" crossorigin href="/assets/contributor-Cg_cxulE.js">
|
|
47
|
+
<link rel="modulepreload" crossorigin href="/assets/activity-timeline-CCrOFWbb.js">
|
|
48
|
+
<link rel="modulepreload" crossorigin href="/assets/commit-CMw0y1Oj.js">
|
|
49
|
+
<link rel="modulepreload" crossorigin href="/assets/Grid-DCCm_m5g.js">
|
|
50
|
+
<link rel="modulepreload" crossorigin href="/assets/MetadataListItem-BEwPg27H.js">
|
|
51
|
+
<link rel="modulepreload" crossorigin href="/assets/features-haTu80rD.js">
|
|
52
|
+
<link rel="modulepreload" crossorigin href="/assets/search-CSSuO-jR.js">
|
|
53
|
+
<link rel="modulepreload" crossorigin href="/assets/contributors-ol5bZm_T.js">
|
|
54
|
+
<link rel="modulepreload" crossorigin href="/assets/instructions-mU0nkIyN.js">
|
|
55
|
+
<link rel="stylesheet" crossorigin href="/assets/page-header-DTEyUWBS.css">
|
|
42
56
|
<link rel="stylesheet" crossorigin href="/assets/document-Drgtj94X.css">
|
|
43
|
-
<link rel="stylesheet" crossorigin href="/assets/
|
|
44
|
-
<link rel="stylesheet" crossorigin href="/assets/
|
|
57
|
+
<link rel="stylesheet" crossorigin href="/assets/Token-Bqkc8eyB.css">
|
|
58
|
+
<link rel="stylesheet" crossorigin href="/assets/document-Cmx0e6kz.css">
|
|
59
|
+
<link rel="stylesheet" crossorigin href="/assets/contributor-2mkEa2Wo.css">
|
|
60
|
+
<link rel="stylesheet" crossorigin href="/assets/activity-timeline-BEeyw2GA.css">
|
|
61
|
+
<link rel="stylesheet" crossorigin href="/assets/commit-DVyOH45R.css">
|
|
62
|
+
<link rel="stylesheet" crossorigin href="/assets/features-DUHxz0_L.css">
|
|
63
|
+
<link rel="stylesheet" crossorigin href="/assets/contributors-CPdOQKMF.css">
|
|
64
|
+
<link rel="stylesheet" crossorigin href="/assets/instructions-2OUMP-vh.css">
|
|
65
|
+
<link rel="stylesheet" crossorigin href="/assets/index-D1JeDnJc.css">
|
|
45
66
|
</head>
|
|
46
67
|
<body>
|
|
47
68
|
<div id="root"></div>
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"Rocket in Space (Transparent Background)" by Steven Monson
|
|
2
|
+
(https://lottiefiles.com/free-animation/rocket-in-space-transparent-background-T0pLH42g8D),
|
|
3
|
+
credited on LottieFiles to the original animation by Ilya Pavlov (https://lottiefiles.com/MiLushin).
|
|
4
|
+
|
|
5
|
+
Used as the browser's loading animation (src/shared/ui/request-state/rocket-loader.json). Gitifact recolors its lines
|
|
6
|
+
and fills to the theme when it is drawn; the file itself is unchanged.
|
|
7
|
+
|
|
8
|
+
-----------------------------------------------------------
|
|
9
|
+
|
|
10
|
+
Lottie Simple License (FL 9.13.21)
|
|
11
|
+
|
|
12
|
+
Copyright © 2021 Design Barn Inc.
|
|
13
|
+
|
|
14
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of the public animation files available
|
|
15
|
+
for download at the LottieFiles site ("Files") to download, reproduce, modify, publish, distribute, publicly display,
|
|
16
|
+
and publicly digitally perform such Files, including for commercial purposes, provided that any display, publication,
|
|
17
|
+
performance, or distribution of Files must contain (and be subject to) the same terms and conditions of this license.
|
|
18
|
+
Modifications to Files are deemed derivative works and must also be expressly distributed under the same terms and
|
|
19
|
+
conditions of this license. You may not purport to impose any additional or different terms or conditions on, or
|
|
20
|
+
apply any technical measures that restrict exercise of, the rights granted under this license. This license does not
|
|
21
|
+
include the right to collect or compile Files from LottieFiles to replicate or develop a similar or competing service.
|
|
22
|
+
|
|
23
|
+
Use of Files without attributing the creator(s) of the Files is permitted under this license, though attribution is
|
|
24
|
+
strongly encouraged. If attributions are included, such attributions should be visible to the end user.
|
|
25
|
+
|
|
26
|
+
FILES ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
|
|
27
|
+
WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. EXCEPT TO THE EXTENT REQUIRED BY
|
|
28
|
+
APPLICABLE LAW, IN NO EVENT WILL THE CREATOR(S) OF FILES OR DESIGN BARN, INC. BE LIABLE ON ANY LEGAL THEORY FOR ANY
|
|
29
|
+
SPECIAL, INCIDENTAL, CONSEQUENTIAL, PUNITIVE, OR EXEMPLARY DAMAGES ARISING OUT OF THIS LICENSE OR THE USE OF SUCH FILES.
|
package/dist/i18n/en/block.md
CHANGED
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
## Gitifact Guide
|
|
2
2
|
|
|
3
|
-
gitifact v{version} · {language} · storage schemaVersion 3
|
|
4
|
-
|
|
5
3
|
Product behavior (requirements and designs), instructions and decision records live in `.gitifact/` and are managed with the CLI `gitifact`. If the project specifies another way to run it, that is what `gitifact` means.
|
|
6
4
|
|
|
7
5
|
### At the start of a session
|
|
8
6
|
|
|
9
|
-
1.
|
|
10
|
-
2.
|
|
11
|
-
3. Read every instruction with `gitifact instructions list --all`, and check git status and existing staging.
|
|
7
|
+
1. If `gitifact` is missing, suggest a global install of the `cli` version in `.gitifact/config.json` with `npm i -g gitifact@<version>`. If installing is blocked, request approval.
|
|
8
|
+
2. Read every instruction with `gitifact instructions list --all`, and check git status and existing staging.
|
|
12
9
|
|
|
13
10
|
### What belongs in requirements
|
|
14
11
|
|
|
@@ -35,6 +32,7 @@ Record product behavior and constraints that must be maintained.
|
|
|
35
32
|
|
|
36
33
|
### Rules
|
|
37
34
|
|
|
35
|
+
- When a version notice appears before a command's output, ask the user before the next step: update now (recommended) or later (`gitifact update --later`). To update, install as the notice says, run `gitifact update` and reread this block.
|
|
38
36
|
- Commit only on a user request or project policy; push only when asked separately. Commit each decision with its record, documents, code and tests, and suggest a commit once when work is finished and left uncommitted.
|
|
39
37
|
- Do not issue IDs, check or commit without running the CLI, or report that as done.
|
|
40
38
|
- Write requirements and designs together for a new feature, in the project's language. Ask only about unclear product behavior and carry on with the rest.
|
|
@@ -43,6 +41,6 @@ Record product behavior and constraints that must be maintained.
|
|
|
43
41
|
### Commands
|
|
44
42
|
|
|
45
43
|
- `specs`·`instructions`·`records`: `list`·`show`·`new`. `check`: whole check. `changes list`·`changes commit --file <json> [--dry-run]`
|
|
46
|
-
- `browser`, `feedback`, `update [--check | --commit]`, `init`, `guide list`·`guide show <topic>` ({topics}). Lists show 20 at a time; read on with the `--after <value>` at the end (`--all` for everything). They take `--fields` and `--format json`; see `--help` for options.
|
|
44
|
+
- `browser`, `feedback`, `update [--check | --commit | --later]`, `init`, `guide list`·`guide show <topic>` ({topics}). Lists show 20 at a time; read on with the `--after <value>` at the end (`--all` for everything). They take `--fields` and `--format json`; see `--help` for options.
|
|
47
45
|
|
|
48
46
|
---
|
|
@@ -1,3 +1,30 @@
|
|
|
1
|
+
## 0.8.3 - 2026-09-26
|
|
2
|
+
### Added
|
|
3
|
+
- Every command prints one version notice before its result: when a newer release is out, when the project is set to a newer version than this CLI, and when this CLI is newer than the project's version. The newer release is read from the user's cache and checked in the background at most once an hour, so commands never wait on the network. `GITIFACT_NO_UPDATE_CHECK` turns off only the release check.
|
|
4
|
+
- `update --later` quiets the announced release for 24 hours. A release newer than it is announced at once.
|
|
5
|
+
- `.gitifact/config.json` records the project's version (`cli`) and the language of the instruction block (`language`). `init` and `update` write them, and the project's version is never lowered. A field this CLI does not know no longer stops it.
|
|
6
|
+
### Changed
|
|
7
|
+
- 0.8.3 or later is required. A config with `cli` stops 0.8.2 and earlier with `INVALID_CONFIG`, so move everyone before running `update`.
|
|
8
|
+
- Installation guidance is a global install (`npm install -g gitifact@<version>`, then `gitifact update`). The instruction block, README and getting started point at the global command instead of npx.
|
|
9
|
+
- The first line of the instruction block (version, language, schemaVersion) is gone. Instead of checking the version and running `update --check` at the start of a session, agents ask whether to update now or later when a version notice appears. A release that leaves the block text alone leaves the block alone.
|
|
10
|
+
- The block follows the config's `language` and changes only with `--lang`. A block written by 0.8.2 or earlier has its first-line language moved to the config once.
|
|
11
|
+
- `update --commit` commits a `config.json` whose only changes are `cli` and `language` together with the blocks, as `chore(gitifact): update project to gitifact v<version>`. The `update` JSON is v6: it carries `project`, and `install` holds only `npmGlobal`.
|
|
12
|
+
- `update` and `init` from a CLI older than the project's version leave the instruction blocks alone.
|
|
13
|
+
- The browser shows one rocket loader for every screen instead of per-screen skeletons. Moving to another screen keeps the current one under a veil, with the loader, until the next is drawn whole.
|
|
14
|
+
- In the browser's feature list, only the words of a row's title and description open the feature; the empty part of the row does not.
|
|
15
|
+
### Fixed
|
|
16
|
+
- `changes commit` refused the `.gitifact/.gitattributes` that `init` writes, so a project had no way to commit it.
|
|
17
|
+
|
|
18
|
+
## 0.8.2 - 2026-09-26
|
|
19
|
+
### Changed
|
|
20
|
+
- The browser asks the server for as much of a list as it shows. Feature requirements read on twenty features at a time with "More features" instead of page numbers, contributors twenty at a time, a commit's code tab twenty files at a time, and a record's documents twenty at a time. The checkout a screen reads first went from 354 KB to 18 KB in this repository.
|
|
21
|
+
- The search box shows five hits in each group — features, requirements, designs, instructions, decision records and commits — and "N more" reads on in that group without closing the box. A decision record appears once per record file, and a commit is found by seven or more characters of its hash. The "Change history" group with one hit per document change is gone.
|
|
22
|
+
- Contributors and each feature's authors count every commit rather than the latest 10,000. The commit log is read into the cache once and new commits are added to it, and list commands no longer read Git history again for the same HEAD (`records list` 639 ms → 256 ms in a repository of 5,000 commits).
|
|
23
|
+
- The cache format changed, so it is rebuilt once on the first run. Dropping the search rows kept per document change made it about 40% smaller.
|
|
24
|
+
### Fixed
|
|
25
|
+
- The code tab of a commit could not show files past the first 500.
|
|
26
|
+
- A record's page could miss documents of its record in a commit of more than 500 changes.
|
|
27
|
+
|
|
1
28
|
## 0.8.1 - 2026-09-25
|
|
2
29
|
### Added
|
|
3
30
|
- Lists show where each document stands against the last commit. A document not committed yet ends its line (in the browser, a light background and a badge) with added, modified or to be deleted, and a deleted document stays listed as to be deleted until the commit. A moved document is one modified line.
|
|
@@ -25,7 +25,7 @@ Do not copy example paths, IDs or evidence literally. The input holds only these
|
|
|
25
25
|
|
|
26
26
|
- **Records:** a record is the file created with `gitifact records new` when the decision was made (`gitifact guide show records`). List the record files to commit in `paths`. Records not listed stay in the working tree for a later commit. A committed record that still has `draft: true` is refused.
|
|
27
27
|
- **Changes that need a record:** an existing document changed, moved or deleted without a record naming it is reported in `withoutRecord`. It does not block the commit. A new document needs no record. Do not invent reasons you do not know.
|
|
28
|
-
- **`paths`:** the document files, record files and related code and tests this commit takes. Not every changed document has to be included; the rest stays for a later commit. A moved document needs both its old and new path. For a deleted document, list the deleted path. Include new assets the documents reference (`.gitifact/assets/…`). One commit takes up to 128 paths (5,000 for a migration commit with `migration: true`); beyond that, split the commits by decision.
|
|
28
|
+
- **`paths`:** the document files, record files and related code and tests this commit takes. Not every changed document has to be included; the rest stays for a later commit. A moved document needs both its old and new path. For a deleted document, list the deleted path. Include new assets the documents reference (`.gitifact/assets/…`). The `.gitifact/.gitattributes` that `init` writes can be included too. One commit takes up to 128 paths (5,000 for a migration commit with `migration: true`); beyond that, split the commits by decision.
|
|
29
29
|
- **Committed records:** if a committed record is edited or deleted, `changes list` and `check` report it and `changes commit` refuses. Restore it from HEAD and write the changed decision as a new record.
|
|
30
30
|
- **Checks:** the same checks as `check` run just before the commit. A problem, or `draft: true` left in a document or in a record being committed, stops the commit. Link and asset warnings do not.
|
|
31
31
|
- **Staging:** do not stage before running. Existing staging or intent-to-add entries are refused. Unstage anything you created (`git mv`, `git rm`, …) with `git restore --staged`, keep the files, and run again. To delete or move files, use ordinary file operations instead of `git rm` or `git mv`.
|
|
@@ -7,13 +7,13 @@ The user describes the product and keeps developing. The agent organizes product
|
|
|
7
7
|
|
|
8
8
|
## Start and check the format
|
|
9
9
|
|
|
10
|
-
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, use the global `gitifact`.
|
|
10
|
+
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, use the global `gitifact`. If the command is missing, suggest `npm install -g gitifact@<version>` with the `cli` version in `.gitifact/config.json`, the CLI version the project is set to. Below, `gitifact` stands for the chosen invocation. A computer has only one global version; when it differs from the project's, every command says so.
|
|
11
11
|
|
|
12
|
-
Do not skip Gitifact work just because the global command is missing or global installation requires permission. A global installation is a suggestion, run only with the user's consent; add a project dependency only when the user chooses that method. If execution or network access is blocked, request the required approval and explain the cause.
|
|
12
|
+
Do not skip Gitifact work just because the global command is missing or global installation requires permission. A global installation is a suggestion, run only with the user's consent; add a project dependency only when the user chooses that method. If installation, execution or network access is blocked, request the required approval and explain the cause. Continue available investigation, but do not issue document IDs, check documents or commit by hand instead of running the CLI, or claim that work is done without it.
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
Any command may print one version notice on stderr before its result; JSON output does not change. It asks to install the project's version when the project is set to a newer release than the running CLI, to install and run `gitifact update` when a newer release is out, and to run `gitifact update` when the running CLI is newer than the project's version. Only one shows, in that order. The release check reads only the user's cache; once the last check is an hour old, a separate background process asks the registry and refreshes the cache. When a notice appears, ask the user before the next step: update now (recommended) or later. Do not install or refresh instructions before consent. For later, run `gitifact update --later`: that release's notice is quiet for 24 hours, and a newer release is announced at once. `GITIFACT_NO_UPDATE_CHECK` turns off only the release check; the project comparison reads local files and stays.
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
To update, install with `npm install -g gitifact@<new-version>` and run `gitifact update`. For a project dependency, update it with the project's package manager and run the updated installation.
|
|
17
17
|
|
|
18
18
|
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.
|
|
19
19
|
|
|
@@ -22,11 +22,11 @@ Check configuration, actual files, and CLI help to choose the applicable workflo
|
|
|
22
22
|
- **Earlier formats:** the current CLI does not read or write `schemaVersion: 1` (0.4.x), workflow-1, prototype-1, or init-1 configurations. Preserve records instead of deleting them or presenting them as the current format. Explain that these prerelease formats have no migration tool. If requested, set up the current version while preserving old records.
|
|
23
23
|
- **Not yet adopted:** if setup is authorized, inspect Git state and instructions, then use `init --dry-run` and `init`. If there is no Git repository, check permission to create one. Preserve changes and staging.
|
|
24
24
|
|
|
25
|
-
init creates `.gitifact/config.json` and an adoption baseline. It writes a block between `<!-- GITIFACT:START -->` and `<!-- GITIFACT:END -->` in agent instruction files such as AGENTS.md. If it writes AGENTS.md and CLAUDE.md does not exist, it also creates CLAUDE.md containing `@AGENTS.md`. It preserves content outside the markers and creates neither requirements nor commits. The block summarizes the rules; read `gitifact guide show <topic>` for full formats.
|
|
25
|
+
init creates `.gitifact/config.json` and an adoption baseline, and writes the CLI version (`cli`) and the block language (`language`) to the config. The block names neither; these two values are the reference. It writes a block between `<!-- GITIFACT:START -->` and `<!-- GITIFACT:END -->` in agent instruction files such as AGENTS.md. If it writes AGENTS.md and CLAUDE.md does not exist, it also creates CLAUDE.md containing `@AGENTS.md`. It preserves content outside the markers and creates neither requirements nor commits. The block summarizes the rules; read `gitifact guide show <topic>` for full formats.
|
|
26
26
|
|
|
27
|
-
After updating the CLI, run `update` (or `init`) to
|
|
27
|
+
After updating the CLI, run `update` (or `init`): the block takes the new version's text and the config's `cli` rises to that version. A CLI older than the project's version changes neither. `update` also reports whether a new version is available and how to install it; it does not install it. Blocks follow the config's `language` (blocks written by 0.8.2 or earlier, the language in their first line) and change only when `--lang ko` or `--lang en` is supplied, which changes the config too. New projects follow the CLI language. Project documents keep their own language.
|
|
28
28
|
|
|
29
|
-
After updating, reread the block and use its new version. Once the refreshed instructions are committed and shared, teammates
|
|
29
|
+
After updating, reread the block and use its new version. Once the refreshed config and instructions are committed and shared, teammates see the project's version in the notice of their next command 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 and a `.gitifact/config.json` whose only changes are `cli` and `language`, with the fixed message `chore(gitifact): update project to gitifact v<version>`, preserving other staging. If a file also has changes outside the block or in other config fields, 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.
|
|
30
30
|
|
|
31
31
|
## Read context
|
|
32
32
|
|
package/dist/i18n/ko/block.md
CHANGED
|
@@ -1,14 +1,11 @@
|
|
|
1
1
|
## Gitifact Guide
|
|
2
2
|
|
|
3
|
-
gitifact v{version} · {language} · 저장 규약 schemaVersion 3
|
|
4
|
-
|
|
5
3
|
제품 동작(요구사항·설계), 지침, 결정기록은 `.gitifact/`에 저장하고 CLI `gitifact`로 관리한다. 프로젝트가 별도 실행 방법을 정했다면 해당 방식을 `gitifact`로 적용한다.
|
|
6
4
|
|
|
7
5
|
### 세션을 시작할 때
|
|
8
6
|
|
|
9
|
-
1. `gitifact
|
|
10
|
-
2. `gitifact
|
|
11
|
-
3. `gitifact instructions list --all`로 지침을 모두 확인하고 git status와 기존 staging 상태를 점검한다.
|
|
7
|
+
1. `gitifact`가 없으면 `.gitifact/config.json`의 `cli` 버전으로 `npm i -g gitifact@<버전>` 전역 설치를 제안한다. 설치가 막히면 승인을 요청한다.
|
|
8
|
+
2. `gitifact instructions list --all`로 지침을 모두 확인하고 git status와 기존 staging 상태를 점검한다.
|
|
12
9
|
|
|
13
10
|
### 무엇을 요구사항으로 남기는가
|
|
14
11
|
|
|
@@ -35,6 +32,7 @@ gitifact v{version} · {language} · 저장 규약 schemaVersion 3
|
|
|
35
32
|
|
|
36
33
|
### 지킬 것
|
|
37
34
|
|
|
35
|
+
- 명령 출력 앞에 버전 안내가 보이면 다음 작업 전에 지금 업데이트(권장)와 나중에(`gitifact update --later`) 중 하나를 사용자에게 묻는다. 업데이트하면 안내대로 설치하고 `gitifact update`를 실행한 뒤 이 블록을 다시 읽는다.
|
|
38
36
|
- 커밋은 사용자 요청이나 프로젝트 정책이 있을 때만 수행하고, 푸시는 별도로 요청받는다. 결정 단위마다 기록·문서·코드·테스트를 함께 커밋하며, 작업을 마치고 커밋하지 않았으면 1회 제안한다.
|
|
39
37
|
- CLI를 실행하지 않고 ID 발급·검사·커밋을 대신하거나 완료로 보고하지 않는다.
|
|
40
38
|
- 새 기능은 요구사항과 설계를 함께 작성하고 문서는 프로젝트 언어로 작성한다. 불명확한 제품 동작만 질문하고 나머지는 진행한다.
|
|
@@ -43,6 +41,6 @@ gitifact v{version} · {language} · 저장 규약 schemaVersion 3
|
|
|
43
41
|
### 명령
|
|
44
42
|
|
|
45
43
|
- `specs`·`instructions`·`records`: `list`·`show`·`new`. `check`: 전체 검사. `changes list`·`changes commit --file <json> [--dry-run]`
|
|
46
|
-
- `browser`, `feedback`, `update [--check | --commit]`, `init`, `guide list`·`guide show <topic>` ({topics}). 목록은 20개씩 출력되며 끝의 `--after <값>`으로 이어 조회한다(`--all`은 전체). `--fields`, `--format json`을 지원하며 옵션은 `--help`로 확인한다.
|
|
44
|
+
- `browser`, `feedback`, `update [--check | --commit | --later]`, `init`, `guide list`·`guide show <topic>` ({topics}). 목록은 20개씩 출력되며 끝의 `--after <값>`으로 이어 조회한다(`--all`은 전체). `--fields`, `--format json`을 지원하며 옵션은 `--help`로 확인한다.
|
|
47
45
|
|
|
48
46
|
---
|
|
@@ -1,3 +1,30 @@
|
|
|
1
|
+
## 0.8.3 - 2026-09-26
|
|
2
|
+
### Added
|
|
3
|
+
- 모든 명령이 결과 앞에 버전 안내를 한 줄 보입니다. 새 버전이 나왔을 때, 프로젝트가 이 CLI보다 새 버전 기준일 때, 이 CLI가 프로젝트 기준보다 새 버전일 때 알립니다. 새 버전은 사용자 캐시에서 읽고 1시간마다 명령과 따로 뒤에서 확인하므로 명령은 네트워크를 기다리지 않습니다. `GITIFACT_NO_UPDATE_CHECK`는 새 버전 확인만 끕니다.
|
|
4
|
+
- `update --later`로 안내된 새 버전을 24시간 동안 쉽니다. 그보다 새 버전이 나오면 바로 안내합니다.
|
|
5
|
+
- `.gitifact/config.json`에 프로젝트 기준 버전(`cli`)과 지침 블록 언어(`language`)를 적습니다. `init`·`update`가 쓰고 기준 버전은 낮추지 않습니다. 설정에 이 CLI가 모르는 항목이 있어도 멈추지 않습니다.
|
|
6
|
+
### Changed
|
|
7
|
+
- 0.8.3 이상이 필요합니다. `cli`가 들어간 설정은 0.8.2 이하에서 `INVALID_CONFIG`로 멈추므로, 팀원 모두 올린 뒤 `update`하세요.
|
|
8
|
+
- 설치 안내를 전역 설치(`npm install -g gitifact@<버전>` 뒤 `gitifact update`)로 바꿨습니다. 지침 블록·README·시작하기가 npx 대신 전역 명령을 안내합니다.
|
|
9
|
+
- 지침 블록의 첫 줄(버전·언어·schemaVersion)을 없앴습니다. 세션을 시작할 때 버전을 확인하고 `update --check`를 실행하던 단계 대신, 명령 앞의 버전 안내를 보면 지금 업데이트할지 나중에 할지 묻습니다. 블록 문구가 바뀌지 않는 배포에서는 블록도 바뀌지 않습니다.
|
|
10
|
+
- 블록 언어는 설정의 `language`를 따르고 `--lang`을 줄 때만 바뀝니다. 0.8.2 이하에서 만든 블록은 첫 줄의 언어를 한 번 읽어 설정에 옮깁니다.
|
|
11
|
+
- `update --commit`이 블록과 함께 `cli`·`language`만 바뀐 `config.json`을 `chore(gitifact): update project to gitifact v<버전>`으로 커밋합니다. `update`의 JSON은 v6으로 `project`를 싣고 설치 명령은 `install.npmGlobal`만 둡니다.
|
|
12
|
+
- 프로젝트 기준보다 오래된 CLI의 `update`와 `init`은 지침 블록을 바꾸지 않습니다.
|
|
13
|
+
- 브라우저가 화면마다 따로 있던 로딩 뼈대 대신 공통 로켓 로더를 보입니다. 다른 화면으로 옮길 때는 새 화면이 다 그려질 때까지 지금 화면을 흐리게 두고 그 위에 로더를 보입니다.
|
|
14
|
+
- 브라우저 기능 목록에서 제목·설명 글자를 누를 때만 기능이 열리고 행의 빈 곳은 반응하지 않습니다.
|
|
15
|
+
### Fixed
|
|
16
|
+
- `changes commit`이 `init`이 쓴 `.gitifact/.gitattributes`를 거부해 사용자 프로젝트에서 이 파일을 커밋할 방법이 없던 문제를 고쳤습니다.
|
|
17
|
+
|
|
18
|
+
## 0.8.2 - 2026-09-26
|
|
19
|
+
### Changed
|
|
20
|
+
- 브라우저가 목록을 서버에서 필요한 만큼만 받습니다. 기능별 요구사항은 페이지 번호 대신 기능 20개씩 "기능 더 보기"로, 참여자는 20명씩, 커밋 코드 탭은 파일 20개씩, 기록 상세의 문서는 20개씩 이어 봅니다. 화면을 열 때 받는 체크아웃이 이 저장소 기준 354KB에서 18KB로 줄었습니다.
|
|
21
|
+
- 검색창이 기능·요구사항·설계·지침·결정기록·커밋 분류마다 5개를 보이고, 분류의 "N개 더 보기"로 창을 닫지 않고 그 분류만 이어 봅니다. 결정기록은 기록 파일마다 한 번 나오고, 커밋은 7자 이상의 해시로 찾습니다. 문서 변경마다 나오던 "변경 이력" 분류는 없어졌습니다.
|
|
22
|
+
- 참여자와 기능별 작성자를 최근 1만 커밋이 아니라 모든 커밋으로 셉니다. 커밋 기록을 캐시에 한 번 읽어 두고 새 커밋만 더하며, 같은 HEAD에서는 목록 명령이 Git 이력을 다시 읽지 않습니다(커밋 5,000개 저장소에서 `records list` 639ms → 256ms).
|
|
23
|
+
- 캐시 형식이 바뀌어 처음 실행할 때 한 번 다시 만들어집니다. 문서 변경마다 두던 검색 행을 없애 캐시가 약 40% 작아졌습니다.
|
|
24
|
+
### Fixed
|
|
25
|
+
- 커밋 코드 탭에서 앞의 500개 뒤의 파일을 볼 수 없던 문제를 고쳤습니다.
|
|
26
|
+
- 변경이 500개를 넘는 커밋에서 기록 상세가 그 기록의 문서를 빠뜨릴 수 있던 문제를 고쳤습니다.
|
|
27
|
+
|
|
1
28
|
## 0.8.1 - 2026-09-25
|
|
2
29
|
### Added
|
|
3
30
|
- 목록이 문서마다 마지막 커밋 대비 상태를 보입니다. 커밋하지 않은 문서는 줄 끝(브라우저는 연한 바탕색과 배지)에 추가·변경·삭제 예정이 붙고, 지운 문서는 커밋할 때까지 삭제 예정으로 남습니다. 옮긴 문서는 한 줄의 변경입니다.
|
|
@@ -25,7 +25,7 @@ description: 커밋 입력, 결정기록과 함께 커밋하기, 나눠 커밋
|
|
|
25
25
|
|
|
26
26
|
- **결정기록:** 기록은 결정한 순간에 `gitifact records new`로 만들어 둔 파일이다(`gitifact guide show records`). 커밋할 기록 파일을 `paths`에 넣는다. 넣지 않은 기록은 작업 폴더에 남아 다음 커밋을 기다린다. 커밋하는 기록에 `draft: true`가 남아 있으면 거부된다.
|
|
27
27
|
- **기록이 필요한 변경:** 기존 문서를 바꾸거나 옮기거나 지웠는데 그 문서를 가리키는 기록이 없으면 `withoutRecord`로 표시된다. 커밋을 막지는 않는다. 새로 만든 문서는 기록이 없어도 된다. 모르는 이유를 꾸며내지 않는다.
|
|
28
|
-
- **`paths`:** 이번 커밋에 담을 문서 파일, 결정기록 파일, 관련 코드·테스트를 담는다. 바뀐 문서를 모두 담을 필요는 없다. 담지 않은 문서는 다음 커밋으로 남는다. 옮긴 문서는 옛 경로와 새 경로를 함께 담아야 한다. 지운 문서는 지운 경로를 담는다. 문서가 참조하는 새 에셋(`.gitifact/assets/…`)도 함께 담는다. 한 커밋에 128개까지 담는다(`migration: true`인 전환 커밋은 5,000개). 넘으면 결정 단위로 나눠 커밋한다.
|
|
28
|
+
- **`paths`:** 이번 커밋에 담을 문서 파일, 결정기록 파일, 관련 코드·테스트를 담는다. 바뀐 문서를 모두 담을 필요는 없다. 담지 않은 문서는 다음 커밋으로 남는다. 옮긴 문서는 옛 경로와 새 경로를 함께 담아야 한다. 지운 문서는 지운 경로를 담는다. 문서가 참조하는 새 에셋(`.gitifact/assets/…`)도 함께 담는다. `init`이 쓴 `.gitifact/.gitattributes`도 담을 수 있다. 한 커밋에 128개까지 담는다(`migration: true`인 전환 커밋은 5,000개). 넘으면 결정 단위로 나눠 커밋한다.
|
|
29
29
|
- **커밋된 기록:** 이미 커밋된 기록을 고치거나 지우면 `changes list`와 `check`가 알리고 `changes commit`이 거부한다. HEAD대로 되돌리고 바뀐 결정은 새 기록으로 쓴다.
|
|
30
30
|
- **검사:** 커밋 직전에 `check`와 같은 검사를 돌린다. 문제가 있거나 문서·커밋할 기록에 `draft: true`가 남아 있으면 커밋하지 않는다. 링크·에셋 경고는 커밋을 막지 않는다.
|
|
31
31
|
- **staging:** 실행 전에 staging하지 않는다. 기존 staging이나 intent-to-add가 있으면 CLI가 거부한다. 스스로 만든 staging(`git mv`·`git rm` 등)은 `git restore --staged`로 풀고 파일은 그대로 둔 채 다시 실행한다. 파일을 지우거나 옮길 때는 `git rm`·`git mv` 대신 일반 삭제·이동을 쓴다.
|
|
@@ -7,13 +7,13 @@ description: 시작할 때 확인할 것, 요구사항으로 남길 요청의
|
|
|
7
7
|
|
|
8
8
|
## 시작과 형식 확인
|
|
9
9
|
|
|
10
|
-
현재 경로·브랜치·Git 상태와 기존 staging을 확인하고 적용되는 AGENTS.md·CLAUDE.md를 원문으로 읽는다. 프로젝트가 정한 CLI 실행 방법을 우선하고, 별도 지정이 없으면 전역 `gitifact`를 쓴다.
|
|
10
|
+
현재 경로·브랜치·Git 상태와 기존 staging을 확인하고 적용되는 AGENTS.md·CLAUDE.md를 원문으로 읽는다. 프로젝트가 정한 CLI 실행 방법을 우선하고, 별도 지정이 없으면 전역 `gitifact`를 쓴다. 명령이 없으면 `.gitifact/config.json`의 `cli`(프로젝트가 기준으로 삼는 CLI 버전)로 `npm install -g gitifact@<버전>` 설치를 제안한다. 아래 `gitifact`는 선택한 실행 방법을 뜻한다. 전역 설치본은 PC에 한 버전뿐이며, 그 버전이 프로젝트 기준과 다르면 명령마다 안내가 나온다.
|
|
11
11
|
|
|
12
|
-
전역 명령이 없거나 전역 설치 권한이 없다는 이유만으로 Gitifact 작업을 건너뛰지 않는다. 전역 설치는 제안이며 사용자가 동의했을 때만 실행하고, 프로젝트 의존성 추가는 사용자가 그 방식을 선택했을 때 한다. 실행·네트워크 권한이 막히면 필요한 승인을 요청하고 원인을 알린다.
|
|
12
|
+
전역 명령이 없거나 전역 설치 권한이 없다는 이유만으로 Gitifact 작업을 건너뛰지 않는다. 전역 설치는 제안이며 사용자가 동의했을 때만 실행하고, 프로젝트 의존성 추가는 사용자가 그 방식을 선택했을 때 한다. 설치나 실행·네트워크 권한이 막히면 필요한 승인을 요청하고 원인을 알린다. 가능한 조사는 계속하되 CLI 실행 없이 문서 ID 발급·검사·커밋을 대신하거나 완료했다고 보고하지 않는다.
|
|
13
13
|
|
|
14
|
-
새
|
|
14
|
+
모든 명령은 결과보다 먼저 stderr에 버전 안내를 한 줄 낼 수 있다. JSON 출력은 바뀌지 않는다. 프로젝트 기준이 실행 중인 CLI보다 새 버전이면 그 버전의 설치를, 새 버전이 나왔으면 설치 후 `gitifact update`를, 실행 중인 CLI가 프로젝트 기준보다 새 버전이면 `gitifact update`로 기준을 올리라고 알린다. 한 번에 하나만 이 순서로 낸다. 새 버전 확인은 사용자 캐시만 읽고, 마지막 확인이 1시간을 넘으면 명령과 따로 뒤에서 레지스트리를 조회해 캐시를 갱신한다. 안내가 보이면 다음 작업 전에 사용자에게 지금 업데이트(권장)와 나중에 중 하나를 묻는다. 동의 전에는 설치하거나 지침을 갱신하지 않는다. 나중에를 고르면 `gitifact update --later`를 실행한다. 그 버전의 안내는 24시간 나오지 않고, 더 새 버전이 나오면 바로 다시 나온다. `GITIFACT_NO_UPDATE_CHECK`는 새 버전 조회만 끈다. 프로젝트 기준 비교는 로컬 파일만 읽으므로 계속한다.
|
|
15
15
|
|
|
16
|
-
업데이트는
|
|
16
|
+
업데이트는 `npm install -g gitifact@<새 버전>`으로 설치한 뒤 `gitifact update`를 실행한다. 프로젝트 의존성으로 관리하면 해당 패키지 관리자로 버전을 올리고 업데이트한 설치본을 실행한다.
|
|
17
17
|
|
|
18
18
|
설정과 실제 파일, CLI 도움말을 함께 확인해 다음 중 하나의 흐름을 선택한다. 명령이 존재한다는 사실만으로 프로젝트 사용이나 전환이 허용되지는 않는다.
|
|
19
19
|
|
|
@@ -22,7 +22,7 @@ description: 시작할 때 확인할 것, 요구사항으로 남길 요청의
|
|
|
22
22
|
- **더 이전 형식:** `schemaVersion: 1`(0.4.x)과 workflow-1·prototype-1·init-1 설정은 현재 CLI가 조회·기록하지 않는다. 기존 기록을 삭제하거나 새 형식으로 가장하지 않고, 정식 버전 전 규약이라 전환 도구가 없다고 알린다. 사용자가 원하면 기록을 보존한 채 새로 도입한다.
|
|
23
23
|
- **미도입:** 도입이 허용됐으면 Git 상태와 지침을 확인하고 `init --dry-run`, `init`으로 연결한다. Git 저장소가 없으면 Git 생성 권한을 확인한다. 기존 변경과 staging을 보존한다.
|
|
24
24
|
|
|
25
|
-
init은 `.gitifact/config.json`과 도입 기준선을 만들고, AGENTS.md 등 에이전트 지침
|
|
25
|
+
init은 `.gitifact/config.json`과 도입 기준선을 만들고, 설정에 CLI 버전(`cli`)과 블록 언어(`language`)를 적는다. 블록에는 버전과 언어가 없고 이 두 값이 기준이다. AGENTS.md 등 에이전트 지침 파일에는 `<!-- GITIFACT:START -->`와 `<!-- GITIFACT:END -->` 사이의 블록을 쓴다. 블록이 AGENTS.md에 들어가고 CLAUDE.md가 없으면 `@AGENTS.md` 한 줄짜리 CLAUDE.md를 함께 만든다. 마커 바깥의 내용은 건드리지 않는다. 요구사항·커밋은 만들지 않는다. 블록은 규칙의 요약이며, 상세 형식은 `gitifact guide show <topic>`으로 읽는다. CLI를 업데이트한 뒤 `update`(또는 `init`)를 실행하면 블록이 새 버전의 문구로 바뀌고 설정의 `cli`가 그 버전으로 올라간다. 프로젝트 기준보다 오래된 CLI는 블록과 `cli`를 바꾸지 않는다. 블록 언어는 설정의 `language`를 따르고(0.8.2 이하에서 만든 블록은 첫 줄의 언어), `--lang ko` 또는 `--lang en`을 지정한 경우에만 바꾸며 설정도 함께 바뀐다. 새 프로젝트는 CLI 언어를 따르고 프로젝트 문서는 기존 언어를 유지한다. `update`는 새 버전 여부와 설치 방법도 알려 주며 설치를 직접 실행하지는 않는다. 갱신 후에는 블록을 다시 읽고 새 버전으로 작업한다. 갱신된 설정과 지침이 커밋·공유되면 다른 팀원은 pull한 뒤 다음 명령에서 프로젝트 기준 안내를 받는다. 업데이트 동의만으로 커밋·푸시하지 않는다. 커밋까지 요청받았을 때만 `update --commit`을 쓴다. 블록 안만 바뀐 지침 파일과 `cli`·`language`만 바뀐 `.gitifact/config.json`을 `chore(gitifact): update project to gitifact v<버전>` 메시지로 그 파일들만 커밋하고, 다른 staging은 그대로 둔다. 블록 밖이나 설정의 다른 항목에도 수정이 있거나 추적하지 않는 파일이거나 Git이 커밋을 거부하면 커밋하지 않고 `commit.reason`으로 알린다. 이때 에이전트가 메시지를 바꿔 대신 커밋하지 않고 사용자에게 알린다.
|
|
26
26
|
|
|
27
27
|
## 맥락 읽기
|
|
28
28
|
|