@simplysm/sd-claude 14.0.50 → 14.0.52
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/claude/references/sd-frontend-design.md +10 -9
- package/claude/references/sd-simplysm-v14/angular/README.md +497 -0
- package/claude/references/sd-simplysm-v14/angular/bootstrap/provide-sd-angular.md +37 -0
- package/claude/references/sd-simplysm-v14/angular/bootstrap/sd-angular-config-provider.md +16 -0
- package/claude/references/sd-simplysm-v14/angular/directives/sd-command-directive.md +27 -0
- package/claude/references/sd-simplysm-v14/angular/directives/sd-events.md +25 -0
- package/claude/references/sd-simplysm-v14/angular/directives/sd-intersection-directive.md +36 -0
- package/claude/references/sd-simplysm-v14/angular/directives/sd-invalid.md +24 -0
- package/claude/references/sd-simplysm-v14/angular/directives/sd-resize-directive.md +42 -0
- package/claude/references/sd-simplysm-v14/angular/directives/sd-ripple.md +23 -0
- package/claude/references/sd-simplysm-v14/angular/directives/sd-router-link.md +38 -0
- package/claude/references/sd-simplysm-v14/angular/directives/sd-show-effect.md +18 -0
- package/claude/references/sd-simplysm-v14/angular/directives/sd-typed-template.md +69 -0
- package/claude/references/sd-simplysm-v14/angular/features/sd-address-search-modal.md +50 -0
- package/claude/references/sd-simplysm-v14/angular/features/sd-permission-table.md +20 -0
- package/claude/references/sd-simplysm-v14/angular/features/sd-shared-data-components.md +158 -0
- package/claude/references/sd-simplysm-v14/angular/features/sd-tiptap-editor.md +26 -0
- package/claude/references/sd-simplysm-v14/angular/pipes/format-pipe.md +41 -0
- package/claude/references/sd-simplysm-v14/angular/plugins/sd-global-error-handler.md +23 -0
- package/claude/references/sd-simplysm-v14/angular/plugins/sd-option-event-plugin.md +34 -0
- package/claude/references/sd-simplysm-v14/angular/provider-types/sd-menu.md +65 -0
- package/claude/references/sd-simplysm-v14/angular/provider-types/sd-modal-content-def.md +148 -0
- package/claude/references/sd-simplysm-v14/angular/provider-types/sd-toast-content-def.md +73 -0
- package/claude/references/sd-simplysm-v14/angular/provider-types/shared-data-base.md +59 -0
- package/claude/references/sd-simplysm-v14/angular/providers/sd-activated-modal-provider.md +34 -0
- package/claude/references/sd-simplysm-v14/angular/providers/sd-app-structure-provider.md +81 -0
- package/claude/references/sd-simplysm-v14/angular/providers/sd-busy-provider.md +18 -0
- package/claude/references/sd-simplysm-v14/angular/providers/sd-file-dialog-provider.md +40 -0
- package/claude/references/sd-simplysm-v14/angular/providers/sd-local-storage-provider.md +20 -0
- package/claude/references/sd-simplysm-v14/angular/providers/sd-modal-provider.md +67 -0
- package/claude/references/sd-simplysm-v14/angular/providers/sd-navigate-window-provider.md +18 -0
- package/claude/references/sd-simplysm-v14/angular/providers/sd-print-provider.md +25 -0
- package/claude/references/sd-simplysm-v14/angular/providers/sd-service-client-factory-provider.md +43 -0
- package/claude/references/sd-simplysm-v14/angular/providers/sd-shared-data-provider.md +64 -0
- package/claude/references/sd-simplysm-v14/angular/providers/sd-system-config-provider.md +46 -0
- package/claude/references/sd-simplysm-v14/angular/providers/sd-system-log-provider.md +18 -0
- package/claude/references/sd-simplysm-v14/angular/providers/sd-theme-provider.md +38 -0
- package/claude/references/sd-simplysm-v14/angular/providers/sd-toast-provider.md +65 -0
- package/claude/references/sd-simplysm-v14/angular/recipes/_common-rules.md +336 -0
- package/claude/references/sd-simplysm-v14/angular/recipes/crud-detail/extension-a-edit-save.md +191 -0
- package/claude/references/sd-simplysm-v14/angular/recipes/crud-detail/extension-b-delete-restore.md +103 -0
- package/claude/references/sd-simplysm-v14/angular/recipes/crud-detail/extension-c-modal-view.md +198 -0
- package/claude/references/sd-simplysm-v14/angular/recipes/crud-detail/extension-d-control-view.md +109 -0
- package/claude/references/sd-simplysm-v14/angular/recipes/crud-detail/extension-e-auxiliary.md +87 -0
- package/claude/references/sd-simplysm-v14/angular/recipes/crud-detail/extension-f-complex-detail.md +202 -0
- package/claude/references/sd-simplysm-v14/angular/recipes/crud-detail.md +280 -0
- package/claude/references/sd-simplysm-v14/angular/recipes/crud-list/extension-a-inline-edit.md +386 -0
- package/claude/references/sd-simplysm-v14/angular/recipes/crud-list/extension-b-selection.md +215 -0
- package/claude/references/sd-simplysm-v14/angular/recipes/crud-list/extension-c-inline-delete.md +64 -0
- package/claude/references/sd-simplysm-v14/angular/recipes/crud-list/extension-d-select-modal.md +193 -0
- package/claude/references/sd-simplysm-v14/angular/recipes/crud-list/extension-e-readonly-modal.md +140 -0
- package/claude/references/sd-simplysm-v14/angular/recipes/crud-list/extension-f-modal-edit.md +123 -0
- package/claude/references/sd-simplysm-v14/angular/recipes/crud-list/extension-g-excel.md +145 -0
- package/claude/references/sd-simplysm-v14/angular/recipes/crud-list.md +377 -0
- package/claude/references/sd-simplysm-v14/angular/recipes/data-select-button.md +368 -0
- package/claude/references/sd-simplysm-v14/angular/recipes/page-modal-container.md +238 -0
- package/claude/references/sd-simplysm-v14/angular/styling/classes.md +149 -0
- package/claude/references/sd-simplysm-v14/angular/styling/mixins.md +100 -0
- package/claude/references/sd-simplysm-v14/angular/styling/themes.md +35 -0
- package/claude/references/sd-simplysm-v14/angular/styling/variables.md +147 -0
- package/claude/references/sd-simplysm-v14/angular/type-utilities/directive-input-signals.md +232 -0
- package/claude/references/sd-simplysm-v14/angular/ui-data/sd-list.md +37 -0
- package/claude/references/sd-simplysm-v14/angular/ui-data/sd-sheet.md +212 -0
- package/claude/references/sd-simplysm-v14/angular/ui-form/sd-additional-button.md +26 -0
- package/claude/references/sd-simplysm-v14/angular/ui-form/sd-anchor.md +31 -0
- package/claude/references/sd-simplysm-v14/angular/ui-form/sd-button.md +103 -0
- package/claude/references/sd-simplysm-v14/angular/ui-form/sd-checkbox-group.md +39 -0
- package/claude/references/sd-simplysm-v14/angular/ui-form/sd-checkbox.md +81 -0
- package/claude/references/sd-simplysm-v14/angular/ui-form/sd-date-range-picker.md +27 -0
- package/claude/references/sd-simplysm-v14/angular/ui-form/sd-form.md +89 -0
- package/claude/references/sd-simplysm-v14/angular/ui-form/sd-modal-select-button.md +54 -0
- package/claude/references/sd-simplysm-v14/angular/ui-form/sd-numpad.md +26 -0
- package/claude/references/sd-simplysm-v14/angular/ui-form/sd-range.md +26 -0
- package/claude/references/sd-simplysm-v14/angular/ui-form/sd-select.md +68 -0
- package/claude/references/sd-simplysm-v14/angular/ui-form/sd-shared-data-select.md +52 -0
- package/claude/references/sd-simplysm-v14/angular/ui-form/sd-state-preset.md +37 -0
- package/claude/references/sd-simplysm-v14/angular/ui-form/sd-switch.md +27 -0
- package/claude/references/sd-simplysm-v14/angular/ui-form/sd-textarea.md +33 -0
- package/claude/references/sd-simplysm-v14/angular/ui-form/sd-textfield.md +145 -0
- package/claude/references/sd-simplysm-v14/angular/ui-layout/sd-dock-container.md +64 -0
- package/claude/references/sd-simplysm-v14/angular/ui-layout/sd-dock.md +37 -0
- package/claude/references/sd-simplysm-v14/angular/ui-layout/sd-gap.md +26 -0
- package/claude/references/sd-simplysm-v14/angular/ui-layout/sd-kanban-board.md +96 -0
- package/claude/references/sd-simplysm-v14/angular/ui-layout/sd-kanban-lane.md +34 -0
- package/claude/references/sd-simplysm-v14/angular/ui-layout/sd-kanban.md +29 -0
- package/claude/references/sd-simplysm-v14/angular/ui-navigation/sd-collapse.md +35 -0
- package/claude/references/sd-simplysm-v14/angular/ui-navigation/sd-pagination.md +26 -0
- package/claude/references/sd-simplysm-v14/angular/ui-navigation/sd-sidebar-container.md +49 -0
- package/claude/references/sd-simplysm-v14/angular/ui-navigation/sd-sidebar-menu.md +22 -0
- package/claude/references/sd-simplysm-v14/angular/ui-navigation/sd-sidebar-user.md +43 -0
- package/claude/references/sd-simplysm-v14/angular/ui-navigation/sd-tab.md +51 -0
- package/claude/references/sd-simplysm-v14/angular/ui-navigation/sd-topbar-container.md +97 -0
- package/claude/references/sd-simplysm-v14/angular/ui-navigation/sd-topbar-menu.md +23 -0
- package/claude/references/sd-simplysm-v14/angular/ui-navigation/sd-topbar-user.md +38 -0
- package/claude/references/sd-simplysm-v14/angular/ui-navigation/sd-topbar.md +30 -0
- package/claude/references/sd-simplysm-v14/angular/ui-overlay/sd-busy-container.md +69 -0
- package/claude/references/sd-simplysm-v14/angular/ui-overlay/sd-confirm-modal.md +30 -0
- package/claude/references/sd-simplysm-v14/angular/ui-overlay/sd-dropdown.md +40 -0
- package/claude/references/sd-simplysm-v14/angular/ui-overlay/sd-modal.md +34 -0
- package/claude/references/sd-simplysm-v14/angular/ui-overlay/sd-prompt-modal.md +30 -0
- package/claude/references/sd-simplysm-v14/angular/ui-overlay/sd-toast.md +35 -0
- package/claude/references/sd-simplysm-v14/angular/ui-visual/sd-barcode.md +36 -0
- package/claude/references/sd-simplysm-v14/angular/ui-visual/sd-calendar.md +34 -0
- package/claude/references/sd-simplysm-v14/angular/ui-visual/sd-echarts.md +32 -0
- package/claude/references/sd-simplysm-v14/angular/ui-visual/sd-label.md +24 -0
- package/claude/references/sd-simplysm-v14/angular/ui-visual/sd-note.md +23 -0
- package/claude/references/sd-simplysm-v14/angular/ui-visual/sd-progress.md +23 -0
- package/claude/references/sd-simplysm-v14/angular/utils/inject-routing-signals.md +161 -0
- package/claude/references/sd-simplysm-v14/angular/utils/inject-sd-system-config-resource.md +35 -0
- package/claude/references/sd-simplysm-v14/angular/utils/mark.md +43 -0
- package/claude/references/sd-simplysm-v14/angular/utils/selection-managers.md +96 -0
- package/claude/references/sd-simplysm-v14/angular/utils/set-safe-style.md +19 -0
- package/claude/references/sd-simplysm-v14/angular/utils/setup-functions.md +93 -0
- package/claude/references/sd-simplysm-v14/capacitor-plugin-auto-update/README.md +38 -0
- package/claude/references/sd-simplysm-v14/capacitor-plugin-auto-update/apk-installer/apk-installer.md +115 -0
- package/claude/references/sd-simplysm-v14/capacitor-plugin-auto-update/auto-update/auto-update.md +113 -0
- package/claude/references/sd-simplysm-v14/capacitor-plugin-file-system/README.md +197 -0
- package/claude/references/sd-simplysm-v14/capacitor-plugin-intent/README.md +235 -0
- package/claude/references/sd-simplysm-v14/capacitor-plugin-usb-storage/README.md +251 -0
- package/claude/references/sd-simplysm-v14/core-browser/README.md +52 -0
- package/claude/references/sd-simplysm-v14/core-browser/extensions/copy-paste.md +59 -0
- package/claude/references/sd-simplysm-v14/core-browser/extensions/element-prototype-extensions.md +137 -0
- package/claude/references/sd-simplysm-v14/core-browser/extensions/get-bounds.md +84 -0
- package/claude/references/sd-simplysm-v14/core-browser/utils/download-blob.md +59 -0
- package/claude/references/sd-simplysm-v14/core-browser/utils/fetch-url-bytes.md +91 -0
- package/claude/references/sd-simplysm-v14/core-browser/utils/indexed-db-store.md +131 -0
- package/claude/references/sd-simplysm-v14/core-browser/utils/indexed-db-virtual-fs.md +121 -0
- package/claude/references/sd-simplysm-v14/core-browser/utils/open-file-dialog.md +60 -0
- package/claude/references/sd-simplysm-v14/core-common/README.md +179 -0
- package/claude/references/sd-simplysm-v14/core-common/errors/argument-error.md +26 -0
- package/claude/references/sd-simplysm-v14/core-common/errors/not-implemented-error.md +33 -0
- package/claude/references/sd-simplysm-v14/core-common/errors/sd-error.md +38 -0
- package/claude/references/sd-simplysm-v14/core-common/errors/timeout-error.md +36 -0
- package/claude/references/sd-simplysm-v14/core-common/extensions/array.md +125 -0
- package/claude/references/sd-simplysm-v14/core-common/extensions/map.md +43 -0
- package/claude/references/sd-simplysm-v14/core-common/extensions/set.md +35 -0
- package/claude/references/sd-simplysm-v14/core-common/features/debounce-queue.md +48 -0
- package/claude/references/sd-simplysm-v14/core-common/features/event-emitter.md +52 -0
- package/claude/references/sd-simplysm-v14/core-common/features/serial-queue.md +44 -0
- package/claude/references/sd-simplysm-v14/core-common/type-utils/common-types.md +100 -0
- package/claude/references/sd-simplysm-v14/core-common/type-utils/env.md +42 -0
- package/claude/references/sd-simplysm-v14/core-common/types/date-only.md +86 -0
- package/claude/references/sd-simplysm-v14/core-common/types/date-time.md +106 -0
- package/claude/references/sd-simplysm-v14/core-common/types/lazy-gc-map.md +59 -0
- package/claude/references/sd-simplysm-v14/core-common/types/time.md +62 -0
- package/claude/references/sd-simplysm-v14/core-common/types/uuid.md +41 -0
- package/claude/references/sd-simplysm-v14/core-common/utils/bytes.md +36 -0
- package/claude/references/sd-simplysm-v14/core-common/utils/dt.md +60 -0
- package/claude/references/sd-simplysm-v14/core-common/utils/err.md +26 -0
- package/claude/references/sd-simplysm-v14/core-common/utils/json.md +58 -0
- package/claude/references/sd-simplysm-v14/core-common/utils/num.md +56 -0
- package/claude/references/sd-simplysm-v14/core-common/utils/obj.md +107 -0
- package/claude/references/sd-simplysm-v14/core-common/utils/path.md +30 -0
- package/claude/references/sd-simplysm-v14/core-common/utils/primitive.md +28 -0
- package/claude/references/sd-simplysm-v14/core-common/utils/str.md +63 -0
- package/claude/references/sd-simplysm-v14/core-common/utils/template-strings.md +49 -0
- package/claude/references/sd-simplysm-v14/core-common/utils/transfer.md +35 -0
- package/claude/references/sd-simplysm-v14/core-common/utils/wait.md +35 -0
- package/claude/references/sd-simplysm-v14/core-common/utils/xml.md +49 -0
- package/claude/references/sd-simplysm-v14/core-common/utils/zip-archive.md +77 -0
- package/claude/references/sd-simplysm-v14/core-node/README.md +59 -0
- package/claude/references/sd-simplysm-v14/core-node/features/fs-watcher.md +110 -0
- package/claude/references/sd-simplysm-v14/core-node/logging/create-file-reporter.md +78 -0
- package/claude/references/sd-simplysm-v14/core-node/logging/pretty-reporter.md +38 -0
- package/claude/references/sd-simplysm-v14/core-node/logging/setup-consola.md +77 -0
- package/claude/references/sd-simplysm-v14/core-node/utils/cpx.md +128 -0
- package/claude/references/sd-simplysm-v14/core-node/utils/fsx.md +168 -0
- package/claude/references/sd-simplysm-v14/core-node/utils/pathx.md +73 -0
- package/claude/references/sd-simplysm-v14/core-node/worker/create-worker.md +85 -0
- package/claude/references/sd-simplysm-v14/core-node/worker/worker.md +160 -0
- package/claude/references/sd-simplysm-v14/excel/README.md +66 -0
- package/claude/references/sd-simplysm-v14/excel/core-classes/excel-cell.md +79 -0
- package/claude/references/sd-simplysm-v14/excel/core-classes/excel-col.md +36 -0
- package/claude/references/sd-simplysm-v14/excel/core-classes/excel-row.md +34 -0
- package/claude/references/sd-simplysm-v14/excel/core-classes/excel-workbook.md +93 -0
- package/claude/references/sd-simplysm-v14/excel/core-classes/excel-worksheet.md +147 -0
- package/claude/references/sd-simplysm-v14/excel/types/excel-address-point.md +33 -0
- package/claude/references/sd-simplysm-v14/excel/types/excel-style-options.md +57 -0
- package/claude/references/sd-simplysm-v14/excel/types/excel-value-type.md +28 -0
- package/claude/references/sd-simplysm-v14/excel/types/excel-xml-content-type-data.md +23 -0
- package/claude/references/sd-simplysm-v14/excel/types/excel-xml-drawing-data.md +29 -0
- package/claude/references/sd-simplysm-v14/excel/types/excel-xml-relationship-data.md +39 -0
- package/claude/references/sd-simplysm-v14/excel/types/excel-xml-shared-string-data.md +42 -0
- package/claude/references/sd-simplysm-v14/excel/types/excel-xml-style-data.md +97 -0
- package/claude/references/sd-simplysm-v14/excel/types/excel-xml-workbook-data.md +22 -0
- package/claude/references/sd-simplysm-v14/excel/types/excel-xml-worksheet-data.md +68 -0
- package/claude/references/sd-simplysm-v14/excel/types/excel-xml.md +15 -0
- package/claude/references/sd-simplysm-v14/excel/utilities/excel-utils.md +101 -0
- package/claude/references/sd-simplysm-v14/excel/wrapper/excel-wrapper.md +108 -0
- package/claude/references/sd-simplysm-v14/lint/README.md +183 -0
- package/claude/references/sd-simplysm-v14/orm-common/README.md +156 -0
- package/claude/references/sd-simplysm-v14/orm-common/core/db-context.md +208 -0
- package/claude/references/sd-simplysm-v14/orm-common/core/db-transaction-error.md +64 -0
- package/claude/references/sd-simplysm-v14/orm-common/expression/expr-unit.md +62 -0
- package/claude/references/sd-simplysm-v14/orm-common/expression/expr.md +198 -0
- package/claude/references/sd-simplysm-v14/orm-common/models/migration.md +37 -0
- package/claude/references/sd-simplysm-v14/orm-common/query-builder/create-query-builder.md +80 -0
- package/claude/references/sd-simplysm-v14/orm-common/queryable-executable/executable.md +54 -0
- package/claude/references/sd-simplysm-v14/orm-common/queryable-executable/parse-search-query.md +75 -0
- package/claude/references/sd-simplysm-v14/orm-common/queryable-executable/queryable.md +238 -0
- package/claude/references/sd-simplysm-v14/orm-common/schema-builders/column-builder.md +63 -0
- package/claude/references/sd-simplysm-v14/orm-common/schema-builders/foreign-key-builder.md +137 -0
- package/claude/references/sd-simplysm-v14/orm-common/schema-builders/index-builder.md +54 -0
- package/claude/references/sd-simplysm-v14/orm-common/schema-builders/procedure.md +67 -0
- package/claude/references/sd-simplysm-v14/orm-common/schema-builders/table.md +95 -0
- package/claude/references/sd-simplysm-v14/orm-common/schema-builders/view.md +71 -0
- package/claude/references/sd-simplysm-v14/orm-common/types/data-type.md +146 -0
- package/claude/references/sd-simplysm-v14/orm-common/types/dialect.md +151 -0
- package/claude/references/sd-simplysm-v14/orm-common/types/expr.md +175 -0
- package/claude/references/sd-simplysm-v14/orm-common/types/parse-query-result.md +58 -0
- package/claude/references/sd-simplysm-v14/orm-common/types/query-def.md +224 -0
- package/claude/references/sd-simplysm-v14/orm-node/README.md +65 -0
- package/claude/references/sd-simplysm-v14/orm-node/connections/mssql-db-conn.md +85 -0
- package/claude/references/sd-simplysm-v14/orm-node/connections/mysql-db-conn.md +83 -0
- package/claude/references/sd-simplysm-v14/orm-node/connections/postgresql-db-conn.md +86 -0
- package/claude/references/sd-simplysm-v14/orm-node/core/create-db-conn.md +62 -0
- package/claude/references/sd-simplysm-v14/orm-node/core/create-orm.md +107 -0
- package/claude/references/sd-simplysm-v14/orm-node/core/node-db-context-executor.md +50 -0
- package/claude/references/sd-simplysm-v14/orm-node/types/db-conn-config.md +91 -0
- package/claude/references/sd-simplysm-v14/orm-node/types/db-conn-constants.md +33 -0
- package/claude/references/sd-simplysm-v14/orm-node/types/db-conn.md +60 -0
- package/claude/references/sd-simplysm-v14/orm-node/types/get-dialect-from-config.md +17 -0
- package/{README.md → claude/references/sd-simplysm-v14/sd-claude/README.md} +85 -84
- package/{docs → claude/references/sd-simplysm-v14/sd-claude}/assets.md +2 -2
- package/{docs → claude/references/sd-simplysm-v14/sd-claude}/hooks.md +15 -1
- package/claude/references/sd-simplysm-v14/sd-cli/README.md +138 -0
- package/claude/references/sd-simplysm-v14/sd-cli/angular-vite-plugin/sd-angular-plugin.md +60 -0
- package/claude/references/sd-simplysm-v14/sd-cli/config/build-target.md +31 -0
- package/claude/references/sd-simplysm-v14/sd-cli/config/npm-config.md +27 -0
- package/claude/references/sd-simplysm-v14/sd-cli/config/sd-browser-support-config.md +19 -0
- package/claude/references/sd-simplysm-v14/sd-cli/config/sd-build-package-config.md +21 -0
- package/claude/references/sd-simplysm-v14/sd-cli/config/sd-capacitor-config.md +109 -0
- package/claude/references/sd-simplysm-v14/sd-cli/config/sd-client-package-config.md +33 -0
- package/claude/references/sd-simplysm-v14/sd-cli/config/sd-config.md +78 -0
- package/claude/references/sd-simplysm-v14/sd-cli/config/sd-electron-config.md +27 -0
- package/claude/references/sd-simplysm-v14/sd-cli/config/sd-package-config.md +18 -0
- package/claude/references/sd-simplysm-v14/sd-cli/config/sd-post-publish-script-config.md +19 -0
- package/claude/references/sd-simplysm-v14/sd-cli/config/sd-publish-config.md +72 -0
- package/claude/references/sd-simplysm-v14/sd-cli/config/sd-pwa-config.md +41 -0
- package/claude/references/sd-simplysm-v14/sd-cli/config/sd-scripts-package-config.md +19 -0
- package/claude/references/sd-simplysm-v14/sd-cli/config/sd-server-package-config.md +32 -0
- package/claude/references/sd-simplysm-v14/sd-cli/config/sd-watch-hook-config.md +19 -0
- package/claude/references/sd-simplysm-v14/sd-cli/ts-compiler/sd-ts-compiler.md +158 -0
- package/claude/references/sd-simplysm-v14/service-client/README.md +74 -0
- package/claude/references/sd-simplysm-v14/service-client/features/event-client.md +93 -0
- package/claude/references/sd-simplysm-v14/service-client/features/file-client.md +63 -0
- package/claude/references/sd-simplysm-v14/service-client/features/orm-client-connector.md +89 -0
- package/claude/references/sd-simplysm-v14/service-client/features/orm-client-db-context-executor.md +31 -0
- package/claude/references/sd-simplysm-v14/service-client/main/service-client.md +206 -0
- package/claude/references/sd-simplysm-v14/service-client/protocol/client-protocol-wrapper.md +64 -0
- package/claude/references/sd-simplysm-v14/service-client/transport/service-transport.md +68 -0
- package/claude/references/sd-simplysm-v14/service-client/transport/socket-provider.md +100 -0
- package/claude/references/sd-simplysm-v14/service-client/types/blob-input.md +7 -0
- package/claude/references/sd-simplysm-v14/service-client/types/browser-worker.md +47 -0
- package/claude/references/sd-simplysm-v14/service-client/types/file-collection.md +21 -0
- package/claude/references/sd-simplysm-v14/service-client/types/service-connection-options.md +22 -0
- package/claude/references/sd-simplysm-v14/service-client/types/service-progress.md +39 -0
- package/claude/references/sd-simplysm-v14/service-common/README.md +161 -0
- package/claude/references/sd-simplysm-v14/service-common/app-structure/app-structure-item.md +107 -0
- package/claude/references/sd-simplysm-v14/service-common/app-structure/get-flat-permissions.md +57 -0
- package/claude/references/sd-simplysm-v14/service-common/app-structure/is-usable-modules-chain.md +23 -0
- package/claude/references/sd-simplysm-v14/service-common/app-structure/is-usable-modules.md +42 -0
- package/claude/references/sd-simplysm-v14/service-common/events/define-event.md +68 -0
- package/claude/references/sd-simplysm-v14/service-common/protocol/create-service-protocol.md +93 -0
- package/claude/references/sd-simplysm-v14/service-common/protocol/protocol-config.md +21 -0
- package/claude/references/sd-simplysm-v14/service-common/protocol/service-add-event-listener-message.md +23 -0
- package/claude/references/sd-simplysm-v14/service-common/protocol/service-auth-message.md +17 -0
- package/claude/references/sd-simplysm-v14/service-common/protocol/service-emit-event-message.md +21 -0
- package/claude/references/sd-simplysm-v14/service-common/protocol/service-error-message.md +29 -0
- package/claude/references/sd-simplysm-v14/service-common/protocol/service-event-message.md +21 -0
- package/claude/references/sd-simplysm-v14/service-common/protocol/service-get-event-listener-infos-message.md +19 -0
- package/claude/references/sd-simplysm-v14/service-common/protocol/service-message.md +52 -0
- package/claude/references/sd-simplysm-v14/service-common/protocol/service-progress-message.md +21 -0
- package/claude/references/sd-simplysm-v14/service-common/protocol/service-remove-event-listener-message.md +19 -0
- package/claude/references/sd-simplysm-v14/service-common/protocol/service-request-message.md +17 -0
- package/claude/references/sd-simplysm-v14/service-common/protocol/service-response-message.md +17 -0
- package/claude/references/sd-simplysm-v14/service-common/service-types/app-structure-service.md +15 -0
- package/claude/references/sd-simplysm-v14/service-common/service-types/auto-update-service.md +20 -0
- package/claude/references/sd-simplysm-v14/service-common/service-types/orm-service.md +61 -0
- package/claude/references/sd-simplysm-v14/service-common/types/service-upload-result.md +19 -0
- package/claude/references/sd-simplysm-v14/service-server/README.md +162 -0
- package/claude/references/sd-simplysm-v14/service-server/auth/auth-token-payload.md +18 -0
- package/claude/references/sd-simplysm-v14/service-server/auth/sign-jwt.md +30 -0
- package/claude/references/sd-simplysm-v14/service-server/auth/verify-jwt.md +35 -0
- package/claude/references/sd-simplysm-v14/service-server/core/auth.md +64 -0
- package/claude/references/sd-simplysm-v14/service-server/core/define-service.md +81 -0
- package/claude/references/sd-simplysm-v14/service-server/core/execute-service-method.md +43 -0
- package/claude/references/sd-simplysm-v14/service-server/core/service-context.md +79 -0
- package/claude/references/sd-simplysm-v14/service-server/legacy/handle-v1-connection.md +25 -0
- package/claude/references/sd-simplysm-v14/service-server/main/create-service-server.md +32 -0
- package/claude/references/sd-simplysm-v14/service-server/main/service-server.md +113 -0
- package/claude/references/sd-simplysm-v14/service-server/protocol/server-protocol-wrapper.md +35 -0
- package/claude/references/sd-simplysm-v14/service-server/services/app-structure-service.md +59 -0
- package/claude/references/sd-simplysm-v14/service-server/services/auto-update-service.md +34 -0
- package/claude/references/sd-simplysm-v14/service-server/services/orm-service.md +43 -0
- package/claude/references/sd-simplysm-v14/service-server/transport-http/handle-http-request.md +33 -0
- package/claude/references/sd-simplysm-v14/service-server/transport-http/handle-static-file.md +29 -0
- package/claude/references/sd-simplysm-v14/service-server/transport-http/handle-upload.md +33 -0
- package/claude/references/sd-simplysm-v14/service-server/transport-socket/service-socket.md +64 -0
- package/claude/references/sd-simplysm-v14/service-server/transport-socket/websocket-handler.md +57 -0
- package/claude/references/sd-simplysm-v14/service-server/types/service-server-options.md +36 -0
- package/claude/references/sd-simplysm-v14/service-server/utils/get-config.md +29 -0
- package/claude/references/sd-simplysm-v14/storage/README.md +99 -0
- package/claude/references/sd-simplysm-v14/storage/clients/ftp-storage-client.md +99 -0
- package/claude/references/sd-simplysm-v14/storage/clients/sftp-storage-client.md +108 -0
- package/claude/references/sd-simplysm-v14/storage/factory/storage-factory.md +114 -0
- package/claude/references/sd-simplysm-v14/storage/types/file-info.md +32 -0
- package/claude/references/sd-simplysm-v14/storage/types/storage-client.md +55 -0
- package/claude/references/sd-simplysm-v14/storage/types/storage-conn-config.md +34 -0
- package/claude/rules/sd-claude-rules.md +8 -8
- package/claude/rules/sd-simplysm-v14.md +33 -0
- package/claude/skills/sd-claude-docs/SKILL.md +41 -24
- package/claude/skills/sd-claude-docs/references/package-docs.md +240 -116
- package/claude/skills/sd-inner-debug/SKILL.md +1 -1
- package/claude/skills/sd-inner-review/SKILL.md +4 -2
- package/package.json +2 -3
- /package/{docs → claude/references/sd-simplysm-v14/sd-claude}/cli.md +0 -0
- /package/{docs → claude/references/sd-simplysm-v14/sd-claude}/scripts.md +0 -0
|
@@ -1,19 +1,27 @@
|
|
|
1
1
|
# package-docs: 단일 패키지 문서 생성 지침
|
|
2
2
|
|
|
3
|
-
subagent가 한 패키지 경로를 받아 해당 패키지의 **CLAUDE.md**와 (private 패키지가 아니면)
|
|
3
|
+
subagent가 한 패키지 경로를 받아 해당 패키지의 **CLAUDE.md**와 (private 패키지가 아니면) **소비자 문서(README.md + _api-index.md + Entry 파일)**를 생성·갱신한다. subagent는 이 한 파일만 읽으면 모든 산출물을 생성할 수 있다.
|
|
4
4
|
|
|
5
5
|
## LLM 매뉴얼 원칙
|
|
6
6
|
|
|
7
7
|
이 문서들은 **백과사전(wiki/API reference)이 아니라, 이 패키지를 소비하는 LLM(Claude Code)이 올바른 코드를 한 번에 쓰게 돕는 운영 매뉴얼**이다. 타겟 독자는 `Read` 툴로 md 파일을 로드해 소비자 코드를 작성하는 LLM 에이전트이며, 사람 개발자는 2차 독자다.
|
|
8
8
|
|
|
9
|
+
**핵심 설계 원리 — 작업 기반 발견성(Task-based Discoverability)**:
|
|
10
|
+
|
|
11
|
+
LLM은 "모달을 열어야 하는데" "목록 화면을 만들어야 하는데"처럼 **작업(task) 의도**를 갖고 문서에 접근한다. API 이름(`SdModalProvider`)을 미리 아는 경우는 드물다. 따라서:
|
|
12
|
+
|
|
13
|
+
- **README.md = 작업 라우터**. "하려는 작업 → 읽을 파일" 매핑이 README의 핵심 콘텐츠. API 이름·타입 나열은 README에 두지 않는다.
|
|
14
|
+
- **_api-index.md = API 참조 인덱스**. API 이름을 이미 알 때만 사용하는 보조 파일.
|
|
15
|
+
- **각 Entry 파일 첫 줄 = "읽어야 하는 상황"**. LLM이 파일을 열자마자 이 파일이 자기 작업에 맞는지 즉시 판단 가능해야 한다.
|
|
16
|
+
|
|
9
17
|
**우선순위**:
|
|
10
18
|
|
|
11
19
|
1. **언제 쓰고 언제 쓰지 말아야 하는가** (When to use / When NOT to use)
|
|
12
|
-
2. **전형적 호출 형태** (복붙 가능한 최소 예제
|
|
13
|
-
3.
|
|
14
|
-
4.
|
|
20
|
+
2. **전형적 호출 형태** (복붙 가능한 최소 예제 1개)
|
|
21
|
+
3. **정확한 시그니처** (호출에 필요한 수준까지)
|
|
22
|
+
4. **진짜 함정** (소스·JSDoc·테스트에서 확인된 것만. 쥐어짜내서 만들지 않는다)
|
|
15
23
|
|
|
16
|
-
타입 사전처럼 "모든 필드를 다 채우는 것"이 목표가 아니다. 시그니처는 LLM이 소스에서도 읽을 수 있으므로, 문서는 **소스에 없는 정보**(의도·선택
|
|
24
|
+
타입 사전처럼 "모든 필드를 다 채우는 것"이 목표가 아니다. 시그니처는 LLM이 소스에서도 읽을 수 있으므로, 문서는 **소스에 없는 정보**(의도·선택 기준)에 집중한다. **매뉴얼은 "어떻게 해야 하는가"를 알려주는 것이 핵심이다.**
|
|
17
25
|
|
|
18
26
|
## 공통 규칙
|
|
19
27
|
|
|
@@ -21,10 +29,10 @@ subagent가 한 패키지 경로를 받아 해당 패키지의 **CLAUDE.md**와
|
|
|
21
29
|
|
|
22
30
|
- **대화언어 + 3인칭 서술**. "You can use…", "I can help…" 금지 → "Processes X", "Returns Y" 형태. "적절히", "필요에 따라" 같은 모호한 표현 금지.
|
|
23
31
|
- **소스에서 읽은 내용만** 문서화한다. 시그니처는 직접 복사하고, 존재하지 않는 파라미터·반환 타입·동작을 만들어내지 않는다 (hallucination 금지).
|
|
24
|
-
- **기존 문서의 시그니처를 신뢰하지 않는다**. 기존 README.md
|
|
32
|
+
- **기존 문서의 시그니처를 신뢰하지 않는다**. 기존 README.md 및 출력 경로 하위 Entry 파일의 코드블록을 그대로 재사용하지 않는다. 반드시 소스를 Read하여 확인한 내용만 작성한다.
|
|
25
33
|
- **일관된 용어**. 한 Entry 내에서 "Provider / Service / Module", "field / property / member" 같은 유사 용어를 혼용하지 않는다. LLM은 용어 동일성을 구조 신호로 사용한다.
|
|
26
34
|
- **상수에 근거**. 예제의 매직 넘버(`timeout: 30000`, `retries: 3` 등)에는 왜 그 값인지 1줄 주석을 단다. 근거 없는 상수는 LLM이 임의 값으로 변조한다.
|
|
27
|
-
-
|
|
35
|
+
- **예제는 최소한으로**. 각 요구사항을 충족하는 최소 예제 1개면 충분하다. 불필요하게 부풀리거나 에러 처리·엣지케이스를 억지로 끼워넣지 않는다.
|
|
28
36
|
|
|
29
37
|
### 병합 규칙
|
|
30
38
|
|
|
@@ -44,13 +52,13 @@ CLAUDE.md의 "Key Patterns"와 README/docs의 Entry 문서는 동일한 소스
|
|
|
44
52
|
|
|
45
53
|
### 최상단 안내 문구
|
|
46
54
|
|
|
47
|
-
`private: true`가 아닌 패키지인 경우, 제목(`# CLAUDE.md`) 바로 아래에 아래 인용 블록을 삽입한다. 이미 존재하면 갱신하지 않고 그대로 둔다.
|
|
55
|
+
`private: true`가 아닌 패키지인 경우, 제목(`# CLAUDE.md`) 바로 아래에 아래 인용 블록을 삽입한다. 이미 존재하면 갱신하지 않고 그대로 둔다. `{패키지명}`은 subagent 프롬프트에서 전달받은 패키지 디렉토리명이다.
|
|
48
56
|
|
|
49
57
|
```markdown
|
|
50
|
-
> 이 패키지의 사용법 및 지침은
|
|
58
|
+
> 이 패키지의 사용법 및 지침은 `{문서 루트}/{패키지명}/README.md`를 참조한다.
|
|
51
59
|
```
|
|
52
60
|
|
|
53
|
-
`private: true` 패키지는 이 문구를 삽입하지 않는다 (
|
|
61
|
+
`private: true` 패키지는 이 문구를 삽입하지 않는다 (소비자 문서가 생성되지 않으므로).
|
|
54
62
|
|
|
55
63
|
### 분석 대상
|
|
56
64
|
|
|
@@ -80,13 +88,21 @@ CLAUDE.md의 "Key Patterns"와 README/docs의 Entry 문서는 동일한 소스
|
|
|
80
88
|
|
|
81
89
|
subagent 프롬프트에서 전달받은 "루트 수준 설정" 목록과 중복되는 내용은 반복하지 않는다.
|
|
82
90
|
|
|
83
|
-
##
|
|
91
|
+
## 소비자 문서 생성
|
|
84
92
|
|
|
85
93
|
**`private: true` 패키지는 이 섹션 전체를 건너뛴다.**
|
|
86
94
|
|
|
87
|
-
출력 경로: `{
|
|
95
|
+
출력 경로: subagent 프롬프트에서 전달받은 `소비자 문서 출력 경로`를 사용한다 (예: `{문서 루트}/{패키지명}/`). README.md와 _api-index.md는 이 경로의 루트에, Entry 파일은 `{출력 경로}/{category}/{entry}.md`에 생성한다.
|
|
96
|
+
|
|
97
|
+
### 산출물 구조
|
|
98
|
+
|
|
99
|
+
| 파일 | 역할 | 대상 독자 상태 |
|
|
100
|
+
|------|------|----------------|
|
|
101
|
+
| **README.md** | 작업 라우터 — "뭘 하려는데 어느 파일을 읽지?" | 작업 의도는 있지만 API 이름을 모름 |
|
|
102
|
+
| **_api-index.md** | API 참조 인덱스 — "이 API의 문서가 어디 있지?" | API 이름을 이미 알고 있음 |
|
|
103
|
+
| **{category}/{entry}.md** | Entry 상세 — 시그니처, 예제, anti-pattern | README 또는 _api-index에서 라우팅됨 |
|
|
88
104
|
|
|
89
|
-
|
|
105
|
+
**README는 작업 기반 인덱스에 전념한다.** API 이름·타입·시그니처 나열은 README에 두지 않고 _api-index.md로 분리한다. LLM이 README를 읽을 때 API 목록 노이즈 없이 "내 작업 → 읽을 파일"을 즉시 찾을 수 있어야 한다.
|
|
90
106
|
|
|
91
107
|
**링크 규칙 (1-level deep)**: README → Entry까지만 링크한다. Entry 파일 본문에서 다른 Entry를 참조할 때는 "간단한 차이점 언급 + 링크"만 두고, 정의·세부 사용법을 그 링크에 떠넘기지 않는다. LLM이 부분 읽기(`offset/limit`)로 잘라 읽을 때 체인이 끊기면 정보가 유실된다.
|
|
92
108
|
|
|
@@ -99,7 +115,7 @@ subagent 프롬프트에서 전달받은 "루트 수준 설정" 목록과 중복
|
|
|
99
115
|
main: "./dist/index.js" → src/index.ts (또는 src/index.tsx)
|
|
100
116
|
```
|
|
101
117
|
|
|
102
|
-
엔트리포인트 파일이 존재하지 않으면 사용자에게 알리고
|
|
118
|
+
엔트리포인트 파일이 존재하지 않으면 사용자에게 알리고 소비자 문서 생성을 건너뛴다.
|
|
103
119
|
|
|
104
120
|
### Export 체인 재귀 추적
|
|
105
121
|
|
|
@@ -169,46 +185,84 @@ main: "./dist/index.js" → src/index.ts (또는 src/index.tsx)
|
|
|
169
185
|
|
|
170
186
|
카테고리 "Styling"으로 분류하고 하위 분류(Classes, CSS Custom Properties, Themes, Mixins)로 나눈다.
|
|
171
187
|
|
|
188
|
+
### 작업 시나리오 수집
|
|
189
|
+
|
|
190
|
+
Entry 그룹핑과 스타일 에셋 분석 후, 각 Entry에 대해 **작업 시나리오**(= LLM이 이 Entry를 읽어야 하는 상황)를 수집한다. 이 정보는 README의 작업 라우팅 테이블과 각 Entry 파일의 "읽어야 하는 상황" 문구에 사용된다.
|
|
191
|
+
|
|
192
|
+
**수집 방법:**
|
|
193
|
+
|
|
194
|
+
1. **소스 분석 기반**: anchor의 JSDoc, 클래스/함수명, public API에서 "이걸 사용하는 상황"을 추론
|
|
195
|
+
2. **기존 문서 보존**: 기존 Entry 파일에 "읽어야 하는 상황" 문구가 있으면 소스 기준으로 유효성을 확인하고, 유효하면 그대로 사용
|
|
196
|
+
3. **레시피 연동**: 기존 recipe에서 참조하는 Entry는 해당 recipe의 작업 시나리오를 상속
|
|
197
|
+
|
|
198
|
+
**작업 시나리오 작성 규칙:**
|
|
199
|
+
|
|
200
|
+
- **사용자 의도 언어로 작성**: "SdModalProvider를 사용할 때" ❌ → "코드에서 모달을 열어야 할 때" ✅
|
|
201
|
+
- **구체적 동사 사용**: "모달 관련 작업" ❌ → "모달을 프로그래밍 방식으로 열고 결과를 받아야 할 때" ✅
|
|
202
|
+
- **대안 안내 포함**: 유사 Entry가 있으면 "단순 확인/취소는 [`SdConfirmModal`](...) 참조" 형태로 분기 안내
|
|
203
|
+
- **1~2문장 이내**: 길어지면 LLM이 스캔하지 않는다
|
|
204
|
+
|
|
205
|
+
**작업 도메인 분류:**
|
|
206
|
+
|
|
207
|
+
수집된 작업 시나리오를 **작업 도메인**으로 그룹핑한다. 작업 도메인은 기술 카테고리(providers, directives)가 아닌 **"사용자가 하려는 일"** 기준이다. 도메인명은 패키지 특성에 따라 자유롭게 설정한다.
|
|
208
|
+
|
|
209
|
+
예시 (Angular UI 라이브러리의 경우):
|
|
210
|
+
|
|
211
|
+
| 작업 도메인 | 포함 시나리오 예시 |
|
|
212
|
+
|-------------|-------------------|
|
|
213
|
+
| 시작하기 | 부트스트랩, 환경 설정 |
|
|
214
|
+
| 화면 만들기 | 페이지/모달/컨트롤 컨테이너, CRUD 목록/상세 |
|
|
215
|
+
| 사용자 입력 받기 | 텍스트, 선택, 체크박스, 날짜, 파일 선택 |
|
|
216
|
+
| 데이터 표시하기 | 시트, 리스트, 캘린더, 차트, 라벨, 진행률 |
|
|
217
|
+
| 모달·알림·피드백 | 모달 열기, 토스트, 확인 대화상자, busy 표시 |
|
|
218
|
+
| 레이아웃·내비게이션 | 사이드바, 탑바, 도킹, 탭, 칸반, 페이지네이션 |
|
|
219
|
+
| 스타일·테마 | CSS 클래스, 변수, 다크모드 |
|
|
220
|
+
|
|
221
|
+
하나의 Entry가 여러 작업 도메인에 관련될 수 있다. 이 경우 가장 직접적인 도메인에 배치하고, 보조 도메인에는 "(→ 도 참조)" 등으로 교차 참조한다.
|
|
222
|
+
|
|
172
223
|
### 분량 판단 & 문서 구조 결정
|
|
173
224
|
|
|
174
225
|
수집된 Entry 수와 카테고리 수로 구조를 결정한다. 스타일 항목은 카테고리 `styling` 하나로 계산한다.
|
|
175
226
|
|
|
176
227
|
| 조건 | 구조 |
|
|
177
228
|
|------|------|
|
|
178
|
-
| 카테고리 1개 **그리고** Entry 10개 이하 | README.md 단독 |
|
|
179
|
-
| 그 외 | README.md (
|
|
229
|
+
| 카테고리 1개 **그리고** Entry 10개 이하 | README.md 단독 (작업 라우팅 + Entry 상세 인라인) |
|
|
230
|
+
| 그 외 | README.md (작업 라우팅) + _api-index.md (API 인덱스) + `{category}/{entry}.md` (entry별 1 파일) |
|
|
180
231
|
|
|
181
|
-
**분할 구조 원칙**: 각 Entry는 해당 anchor 1개에만 집중한 md 파일이 되며, 카테고리는 **서브디렉토리**로만 표현된다 (카테고리 파일 `
|
|
232
|
+
**분할 구조 원칙**: 각 Entry는 해당 anchor 1개에만 집중한 md 파일이 되며, 카테고리는 **서브디렉토리**로만 표현된다 (카테고리 파일 `{category}.md`을 만들지 않는다).
|
|
182
233
|
|
|
183
234
|
### 문서 작성 원칙
|
|
184
235
|
|
|
185
|
-
- **기존 문서가 없으면** 분석 결과로 신규 작성. **있으면**
|
|
236
|
+
- **기존 문서가 없으면** 분석 결과로 신규 작성. **있으면** 출력 경로 하위 모든 파일(서브디렉토리 포함)을 읽어 분석 결과 기준으로 정합성을 맞춘다.
|
|
186
237
|
- **소스와 무관한 내용(사용 가이드, 주의사항, 규칙 등)은 보존**이 원칙이되, 현재 소스 및 산출물과 상충하면(없어진 API 언급, 옛 동작 기준 설명, 더 이상 유효하지 않은 규칙, 산출물 문서 링크 등) 소스 및 산출물 기준으로 수정한다.
|
|
187
238
|
- **소비자 관점 완전성**: 공개 entrypoint에서 export되어 **소비자 코드에 등장할 수 있는** 심볼은 문서화한다. 내부 재노출 유틸·타입 별칭은 주 Entry에 흡수하거나, "사용 빈도가 낮고 직접 쓰지 말아야 하는 경우" 생략할 수 있다 (생략 시 사유를 실행 로그에 남긴다). "모든 export를 기계적으로 나열"이 목표가 아니다.
|
|
188
239
|
- **interface/type 필드 테이블**은 **소비자가 채워야 하는 필드**에 한정한다. 반환값으로만 소비되는 타입은 시그니처만 유지하고 필드 테이블을 생략할 수 있다. 단, 소스에 필드가 있는 interface를 빈 `{}`로 축약 표시하는 것은 금지한다.
|
|
189
240
|
- **union type은 discriminant와 각 variant를 설명**한다. discriminated union인 경우 어떤 필드로 분기되는지와 각 variant를 나열한다.
|
|
190
|
-
- **
|
|
241
|
+
- **Anti-pattern은 진짜 함정만**. 소스 JSDoc·테스트·기존 문서에서 **실제로 확인된** 함정만 Anti-patterns로 명시한다. 쥐어짜내서 억지 Bad 예시를 만들지 않는다. 확인된 함정이 없으면 Anti-patterns 섹션 자체를 생략한다.
|
|
191
242
|
|
|
192
243
|
### 반-기법 (피해야 할 작성 패턴)
|
|
193
244
|
|
|
194
245
|
아래 패턴은 명시적으로 금지한다. 생성된 문서에서 발견되면 교정한다.
|
|
195
246
|
|
|
196
|
-
1. **
|
|
197
|
-
2.
|
|
198
|
-
3.
|
|
199
|
-
4. **
|
|
200
|
-
5.
|
|
201
|
-
6.
|
|
202
|
-
7.
|
|
203
|
-
8. **
|
|
204
|
-
9.
|
|
205
|
-
10.
|
|
206
|
-
11. **
|
|
207
|
-
12. **
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
247
|
+
1. **README에 API 목록 테이블** — API 이름·타입·Description 나열은 _api-index.md의 역할. README에는 작업 라우팅만 둔다.
|
|
248
|
+
2. **"Description" 컬럼** — 모든 테이블에서 API 설명 컬럼은 "언제 쓰나"로 작성한다. 타입 요약("프로그래밍 방식 모달 생성")보다 선택 기준("코드에서 모달을 열어야 할 때")이 LLM에게 유효하다.
|
|
249
|
+
3. **기술 카테고리 기반 README 인덱스** — "Providers", "Directives", "UI - Form" 같은 기술 분류를 README에서 사용하면 LLM이 작업과 매칭하지 못한다. README에는 작업 도메인 분류만 사용하고, 기술 카테고리는 _api-index.md에 둔다.
|
|
250
|
+
4. **Members/Parameters/Returns만 채운 API reference** — 시그니처는 LLM이 소스에서 읽을 수 있다. "언제 쓰는가 / 흔한 실수" 없는 타입 덤프는 토큰 낭비.
|
|
251
|
+
5. **백과사전식 긴 산문** — "이 기능은 ~를 위해 설계되었으며 역사적으로…" 같은 배경 서술. 별도 설명(Explanation) 문서가 필요하면 파일을 분리하되, Entry 본문에 섞지 않는다.
|
|
252
|
+
6. **Deeply nested 링크 체인** — Entry → 다른 Entry → 또 다른 Entry. 1-level deep 원칙 위반.
|
|
253
|
+
7. **"자세한 건 상위/다른 페이지 참조"** — Entry가 self-contained하지 않으면 부분 로드 시 깨진다.
|
|
254
|
+
8. **1인칭·2인칭 서술** ("I can help…", "You should…") — 3인칭으로 통일.
|
|
255
|
+
9. **시간 민감 정보 인라인** ("2025년 8월 이전엔…") — 금방 거짓이 된다. "Deprecated" 또는 "Legacy" 별도 섹션으로 격리한다.
|
|
256
|
+
10. **동급 대안 나열** ("A, B, C 중 하나 고르세요") — LLM이 무작위 선택. **기본 1개 추천 + 예외 상황에만 대안**.
|
|
257
|
+
11. **ALL CAPS / "ALWAYS"·"NEVER" 남발** — 진짜 중요한 곳에서만 써야 신호가 산다. 근거 1줄이 더 효과적이다.
|
|
258
|
+
12. **Voodoo constants** — 근거 없는 매직 넘버.
|
|
259
|
+
13. **일관되지 않은 용어** — 같은 개념을 여러 용어로 지칭하면 LLM이 별개 개념으로 오인.
|
|
260
|
+
14. **억지 Anti-pattern** — 소스에서 확인되지 않은 함정을 쥐어짜내서 Bad 예시로 만드는 것. 진짜 함정이 있을 때만 작성한다.
|
|
261
|
+
15. **Tutorial과 Reference 혼재** — "설치 후 첫 걸음…" 학습 서술을 API reference에 섞지 않는다.
|
|
262
|
+
|
|
263
|
+
### README.md 형식 (작업 라우터)
|
|
264
|
+
|
|
265
|
+
README.md는 **작업 라우팅에 전념**한다. API 목록, 시그니처, 상세 설명은 README에 두지 않는다.
|
|
212
266
|
|
|
213
267
|
```markdown
|
|
214
268
|
# {package-name}
|
|
@@ -221,61 +275,122 @@ README.md는 **인덱스 + 작업→Entry 라우팅**에 집중한다. 분할
|
|
|
221
275
|
npm install {package-name}
|
|
222
276
|
\`\`\`
|
|
223
277
|
|
|
224
|
-
##
|
|
278
|
+
## 먼저 읽기 (횡단 전제)
|
|
279
|
+
|
|
280
|
+
{있는 경우에만 이 섹션을 생성}
|
|
281
|
+
|
|
282
|
+
- [공통 규칙](./recipes/_common-rules.md) — 여러 Entry에 걸친 금지·컨벤션
|
|
283
|
+
- [Bootstrap](./bootstrap/...) — 반드시 등록해야 하는 provider / 초기화
|
|
284
|
+
|
|
285
|
+
## 하려는 작업 → 읽을 파일
|
|
286
|
+
|
|
287
|
+
{작업 시나리오 수집에서 도출한 작업 도메인별로 그룹핑한다.
|
|
288
|
+
모든 Entry가 최소 1개 작업 행에 포함되어야 한다.
|
|
289
|
+
"하려는 작업" 컬럼은 사용자 의도 언어로 작성한다.}
|
|
290
|
+
|
|
291
|
+
### {작업 도메인 1}
|
|
225
292
|
|
|
226
|
-
|
|
293
|
+
| 하려는 작업 | 읽을 파일 |
|
|
294
|
+
|-------------|-----------|
|
|
295
|
+
| {사용자 의도 1줄} | [{entry 파일명}](./{category}/{entry}.md) |
|
|
296
|
+
| {사용자 의도 1줄} | [{entry 파일명}](./{category}/{entry}.md) |
|
|
227
297
|
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
|
231
|
-
|
|
298
|
+
### {작업 도메인 2}
|
|
299
|
+
|
|
300
|
+
| 하려는 작업 | 읽을 파일 |
|
|
301
|
+
|-------------|-----------|
|
|
232
302
|
| ... | ... |
|
|
233
303
|
|
|
234
|
-
|
|
304
|
+
{모든 작업 도메인을 나열}
|
|
235
305
|
|
|
236
|
-
|
|
306
|
+
## 이 패키지를 쓰지 말아야 할 때
|
|
307
|
+
|
|
308
|
+
{있는 경우에만. 예: "서버 사이드 로직 → @simplysm/service-server"}
|
|
237
309
|
|
|
238
|
-
|
|
239
|
-
- [Bootstrap](./docs/providers/...) — 반드시 등록해야 하는 provider / 초기화
|
|
310
|
+
---
|
|
240
311
|
|
|
241
|
-
|
|
312
|
+
> API 이름으로 검색: [_api-index.md](./_api-index.md)
|
|
313
|
+
```
|
|
242
314
|
|
|
243
|
-
|
|
244
|
-
{분할 구조인 경우: 카테고리별 Entry 인덱스 테이블}
|
|
315
|
+
**README 작성 핵심 규칙:**
|
|
245
316
|
|
|
246
|
-
|
|
317
|
+
- **"하려는 작업" 컬럼은 사용자 의도 언어**: "SdTextfield를 사용" ❌ → "텍스트/숫자/날짜 입력 받기" ✅
|
|
318
|
+
- **유사 Entry의 차이를 "하려는 작업" 컬럼에 반영**: "드롭다운 선택" vs "모달에서 항목 선택" vs "공유 데이터에서 선택"
|
|
319
|
+
- **"먼저 읽기"는 "하려는 작업" 테이블 앞에 배치**: LLM이 Entry를 읽기 전에 횡단 규칙을 먼저 인지하도록
|
|
320
|
+
- **README 단독 구조**(Entry 10개 이하)에서는 "하려는 작업" 테이블 아래에 각 Entry 상세를 인라인으로 포함한다
|
|
247
321
|
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
322
|
+
### _api-index.md 형식 (API 참조 인덱스)
|
|
323
|
+
|
|
324
|
+
분할 구조에서만 생성한다 (README 단독 구조에서는 생략).
|
|
325
|
+
|
|
326
|
+
```markdown
|
|
327
|
+
# API Index — {package-name}
|
|
328
|
+
|
|
329
|
+
> API 이름을 알고 있을 때 해당 문서를 찾는 인덱스.
|
|
330
|
+
> 작업 기반으로 찾으려면 [README.md](./README.md) 참조.
|
|
331
|
+
|
|
332
|
+
## {Category Name}
|
|
252
333
|
|
|
253
|
-
|
|
334
|
+
| API | Kind | 문서 | 언제 쓰나 |
|
|
335
|
+
|-----|------|------|-----------|
|
|
336
|
+
| `ClassName` | class | [file.md](./{category}/file.md) | {1줄 — 어떤 작업을 할 때} |
|
|
254
337
|
|
|
255
338
|
{스타일 항목이 수집된 경우:}
|
|
256
|
-
|
|
339
|
+
## Styling
|
|
257
340
|
|
|
258
|
-
| Entry | 언제 쓰나 |
|
|
259
|
-
|
|
260
|
-
|
|
|
261
|
-
|
|
|
262
|
-
| [
|
|
263
|
-
|
|
|
341
|
+
| Entry | 문서 | 언제 쓰나 |
|
|
342
|
+
|-------|------|-----------|
|
|
343
|
+
| CSS Classes | [classes.md](./styling/classes.md) | 레이아웃·유틸리티 클래스가 필요할 때 |
|
|
344
|
+
| CSS Custom Properties | [variables.md](./styling/variables.md) | 디자인 토큰을 오버라이드할 때 |
|
|
345
|
+
| Themes | [themes.md](./styling/themes.md) | 테마 전환이 필요할 때 |
|
|
346
|
+
| Mixins / Functions | [mixins.md](./styling/mixins.md) | SCSS에서 직접 mixin 쓸 때 |
|
|
347
|
+
```
|
|
264
348
|
|
|
265
|
-
|
|
349
|
+
**_api-index.md 작성 규칙:**
|
|
266
350
|
|
|
267
|
-
|
|
351
|
+
- 카테고리는 기존 기술 분류(소스의 region/디렉토리 기반) 그대로 사용 — API 이름을 아는 사용자에게는 기술 분류가 자연스럽다
|
|
352
|
+
- "언제 쓰나" 컬럼은 필수 — API 이름을 찾아왔더라도 맞는 API인지 확인 필요
|
|
353
|
+
- 흡수된 타입(prefix 매칭, 시그니처 참조로 anchor에 흡수된 것)은 anchor 행에 포함하지 않고, Entry 파일 안에서만 노출
|
|
268
354
|
|
|
269
|
-
{
|
|
355
|
+
### {category}/{entry}.md 형식 (분할 대상만)
|
|
356
|
+
|
|
357
|
+
각 Entry마다 `{출력 경로}/{category-kebab}/{entry.kebabName}.md`를 1개 생성한다. 카테고리는 서브디렉토리로 매핑한다.
|
|
358
|
+
|
|
359
|
+
#### 필수 상단: "읽어야 하는 상황"
|
|
360
|
+
|
|
361
|
+
**모든 Entry 파일의 제목 바로 아래에 "읽어야 하는 상황" 인용 블록을 필수로 작성한다.** 이 블록은 LLM이 파일을 열자마자 "이 파일이 내 작업에 맞는가?"를 즉시 판단하는 신호다.
|
|
362
|
+
|
|
363
|
+
```markdown
|
|
364
|
+
# `{EntryName}`
|
|
365
|
+
|
|
366
|
+
> **읽어야 하는 상황**: {작업 시나리오에서 도출한 1~2문장}. {유사 Entry가 있으면 분기 안내}.
|
|
270
367
|
```
|
|
271
368
|
|
|
272
|
-
|
|
369
|
+
예시:
|
|
370
|
+
|
|
371
|
+
```markdown
|
|
372
|
+
# `SdModalProvider`
|
|
373
|
+
|
|
374
|
+
> **읽어야 하는 상황**: 코드에서 프로그래밍 방식으로 모달을 열고 결과를 받아야 할 때. 단순 확인/취소 대화상자는 [`SdConfirmModal`](../ui-overlay/sd-confirm-modal.md), 텍스트 입력 대화상자는 [`SdPromptModal`](../ui-overlay/sd-prompt-modal.md)을 먼저 확인.
|
|
375
|
+
```
|
|
376
|
+
|
|
377
|
+
```markdown
|
|
378
|
+
# CRUD 리스트
|
|
379
|
+
|
|
380
|
+
> **읽어야 하는 상황**: 여러 레코드를 조회·필터링하는 목록 화면을 만들 때. 단일 레코드 상세/편집은 [crud-detail.md](./crud-detail.md) 참조.
|
|
381
|
+
```
|
|
382
|
+
|
|
383
|
+
```markdown
|
|
384
|
+
# `SdTextfield`
|
|
385
|
+
|
|
386
|
+
> **읽어야 하는 상황**: 한 줄 텍스트·숫자·날짜·시간·색상 등을 입력받을 때. 여러 줄 텍스트는 [`SdTextarea`](./sd-textarea.md), 리치 텍스트는 [`SdTiptapEditor`](../features/sd-tiptap-editor.md) 참조.
|
|
387
|
+
```
|
|
273
388
|
|
|
274
|
-
|
|
389
|
+
#### Entry 템플릿 선택
|
|
275
390
|
|
|
276
391
|
Entry는 **anchor의 종류에 따라 아래 세 템플릿 중 하나**를 선택한다:
|
|
277
392
|
|
|
278
|
-
- **T1 (Recipe)**: `
|
|
393
|
+
- **T1 (Recipe)**: `recipes/` 하위 — 특정 화면·흐름을 만드는 방법 ("이 상황에서 어떻게 하지?")
|
|
279
394
|
- **T2 (API Reference)**: class / provider / 단독 함수 / util 등 API 사용법 조회
|
|
280
395
|
- **T3 (Rule / Decision)**: 여러 Entry에 걸친 횡단 규칙·금지 (예: `_common-rules.md`)
|
|
281
396
|
|
|
@@ -283,14 +398,14 @@ Entry는 **anchor의 종류에 따라 아래 세 템플릿 중 하나**를 선
|
|
|
283
398
|
|
|
284
399
|
- 파일이 100줄 초과 예상이면 상단에 `## Contents` TOC를 둔다.
|
|
285
400
|
- 어느 anchor Entry든 **anchor가 class/provider/주요 함수**이면 "When to use" 섹션을 **반드시** 작성한다. 소스에서 용도가 확인되지 않으면 "소스에서 확인되지 않음"으로 명시.
|
|
286
|
-
-
|
|
401
|
+
- **예제는 최소 1개면 충분하다.** 복붙 가능한 최소 예제 1개로 사용법을 보여준다. 의미 있는 변형이 있을 때만 추가 예제를 둔다. 억지로 예제를 늘리지 않으며, 의미 있는 예제를 만들 수 없으면 Usage 섹션 자체를 생략한다 (형식적 예제 금지).
|
|
287
402
|
|
|
288
403
|
#### T1: How-to / Recipe Entry 템플릿
|
|
289
404
|
|
|
290
405
|
```markdown
|
|
291
406
|
# {레시피 이름}
|
|
292
407
|
|
|
293
|
-
{
|
|
408
|
+
> **읽어야 하는 상황**: {이 레시피가 해결하는 문제 / 산출하는 화면을 1~2문장으로. 유사 레시피 분기 안내.}
|
|
294
409
|
|
|
295
410
|
## When to use / When NOT to use
|
|
296
411
|
|
|
@@ -306,19 +421,20 @@ Entry는 **anchor의 종류에 따라 아래 세 템플릿 중 하나**를 선
|
|
|
306
421
|
## 기본 레시피
|
|
307
422
|
|
|
308
423
|
\`\`\`typescript
|
|
309
|
-
{복붙 가능한 최소 완성 코드.
|
|
424
|
+
{복붙 가능한 최소 완성 코드.}
|
|
310
425
|
\`\`\`
|
|
311
426
|
|
|
312
427
|
## 변형 (Variation)
|
|
313
428
|
|
|
314
|
-
|
|
315
|
-
{코드블록}
|
|
429
|
+
{의미 있는 변형이 있을 때만. 없으면 섹션 생략.}
|
|
316
430
|
|
|
317
|
-
### {조건
|
|
431
|
+
### {조건 A}
|
|
318
432
|
{코드블록}
|
|
319
433
|
|
|
320
434
|
## 🚫 흔한 실수 (Anti-patterns)
|
|
321
435
|
|
|
436
|
+
{소스·JSDoc·테스트에서 **실제 확인된 함정만**. 확인된 것이 없으면 이 섹션 전체 생략. 억지로 Bad 예시를 만들지 않는다.}
|
|
437
|
+
|
|
322
438
|
### {실수 이름}
|
|
323
439
|
|
|
324
440
|
\`\`\`typescript
|
|
@@ -341,7 +457,7 @@ Entry는 **anchor의 종류에 따라 아래 세 템플릿 중 하나**를 선
|
|
|
341
457
|
```markdown
|
|
342
458
|
# `{EntryName}`
|
|
343
459
|
|
|
344
|
-
{1
|
|
460
|
+
> **읽어야 하는 상황**: {1~2문장 — 어떤 작업을 할 때 이 API가 필요한가. 유사 API 분기 안내.}
|
|
345
461
|
|
|
346
462
|
## When to use
|
|
347
463
|
|
|
@@ -375,20 +491,16 @@ Entry는 **anchor의 종류에 따라 아래 세 템플릿 중 하나**를 선
|
|
|
375
491
|
|
|
376
492
|
## Usage
|
|
377
493
|
|
|
378
|
-
### 최소 예제
|
|
379
|
-
|
|
380
494
|
\`\`\`typescript
|
|
381
|
-
{
|
|
495
|
+
{복붙 가능한 최소 예제 1개. 이것만으로 사용법을 알 수 있어야 한다.}
|
|
382
496
|
\`\`\`
|
|
383
497
|
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
\`\`\`typescript
|
|
387
|
-
{실전 컨텍스트 — 의존성 주입, 에러 처리, 엣지케이스 포함.}
|
|
388
|
-
\`\`\`
|
|
498
|
+
{의미 있는 변형이 있을 때만 추가 예제. 없으면 위 1개로 충분.}
|
|
389
499
|
|
|
390
500
|
## 🚫 Anti-patterns
|
|
391
501
|
|
|
502
|
+
{소스·JSDoc·테스트에서 **실제 확인된 함정만**. 확인된 것이 없으면 이 섹션 전체 생략. 억지로 Bad 예시를 만들지 않는다.}
|
|
503
|
+
|
|
392
504
|
### {실수 이름}
|
|
393
505
|
|
|
394
506
|
\`\`\`typescript
|
|
@@ -425,7 +537,7 @@ Entry는 **anchor의 종류에 따라 아래 세 템플릿 중 하나**를 선
|
|
|
425
537
|
```markdown
|
|
426
538
|
# {규칙 모음 이름}
|
|
427
539
|
|
|
428
|
-
{
|
|
540
|
+
> **읽어야 하는 상황**: {이 규칙이 적용되는 범위를 1~2문장으로}
|
|
429
541
|
|
|
430
542
|
## 적용 범위
|
|
431
543
|
|
|
@@ -474,21 +586,23 @@ Entry는 **anchor의 종류에 따라 아래 세 템플릿 중 하나**를 선
|
|
|
474
586
|
- 비어 있는 섹션(예: 멤버 없음, 흔한 실수가 소스에서 확인되지 않음)은 생략한다.
|
|
475
587
|
- anchor가 class/provider/주요 함수면 "When to use" 섹션은 **생략 불가**.
|
|
476
588
|
|
|
477
|
-
### Styling 분할 구조 (`
|
|
589
|
+
### Styling 분할 구조 (`styling/*.md`)
|
|
478
590
|
|
|
479
|
-
스타일 항목이 수집된 경우, 아래 4개 파일로 분할하여 생성한다. 모두 `
|
|
591
|
+
스타일 항목이 수집된 경우, 아래 4개 파일로 분할하여 생성한다. 모두 `styling/` 서브디렉토리에 둔다.
|
|
480
592
|
|
|
481
|
-
- `
|
|
482
|
-
- `
|
|
483
|
-
- `
|
|
484
|
-
- `
|
|
593
|
+
- `styling/classes.md` — 전역 CSS 클래스 목록
|
|
594
|
+
- `styling/variables.md` — CSS 커스텀 프로퍼티
|
|
595
|
+
- `styling/themes.md` — 테마 클래스와 각 테마가 오버라이드하는 변수
|
|
596
|
+
- `styling/mixins.md` — 공개 SCSS mixin / function
|
|
485
597
|
|
|
486
|
-
각
|
|
598
|
+
각 파일도 상단에 "읽어야 하는 상황" 인용 블록을 포함한다:
|
|
487
599
|
|
|
488
600
|
```markdown
|
|
489
601
|
<!-- classes.md -->
|
|
490
602
|
# CSS Classes
|
|
491
603
|
|
|
604
|
+
> **읽어야 하는 상황**: 레이아웃·유틸리티 클래스로 스타일링할 때. 커스텀 프로퍼티(변수) 오버라이드는 [variables.md](./variables.md), 테마 전환은 [themes.md](./themes.md) 참조.
|
|
605
|
+
|
|
492
606
|
| Class | 언제 쓰나 |
|
|
493
607
|
|-------|-----------|
|
|
494
608
|
| `.flex-row` | {설명} |
|
|
@@ -496,6 +610,8 @@ Entry는 **anchor의 종류에 따라 아래 세 템플릿 중 하나**를 선
|
|
|
496
610
|
<!-- variables.md -->
|
|
497
611
|
# CSS Custom Properties
|
|
498
612
|
|
|
613
|
+
> **읽어야 하는 상황**: 디자인 토큰(색상, 간격, 폰트 등)을 오버라이드할 때.
|
|
614
|
+
|
|
499
615
|
| Property | Default | Description |
|
|
500
616
|
|----------|---------|-------------|
|
|
501
617
|
| `--color-primary` | `#...` | {설명} |
|
|
@@ -503,39 +619,48 @@ Entry는 **anchor의 종류에 따라 아래 세 템플릿 중 하나**를 선
|
|
|
503
619
|
<!-- themes.md -->
|
|
504
620
|
# Themes
|
|
505
621
|
|
|
506
|
-
|
|
622
|
+
> **읽어야 하는 상황**: 다크 모드 등 테마를 전환하거나 커스텀 테마를 추가할 때.
|
|
623
|
+
|
|
624
|
+
## `.theme-dark`
|
|
507
625
|
|
|
508
626
|
{설명 + 오버라이드 변수 목록 테이블}
|
|
509
627
|
|
|
510
628
|
<!-- mixins.md -->
|
|
511
629
|
# Mixins / Functions
|
|
512
630
|
|
|
631
|
+
> **읽어야 하는 상황**: SCSS에서 직접 mixin이나 function을 사용할 때.
|
|
632
|
+
|
|
513
633
|
| Name | Signature | 언제 쓰나 |
|
|
514
634
|
|------|-----------|-----------|
|
|
515
635
|
| `flex-direction` | `@mixin flex-direction($dir)` | {설명} |
|
|
516
636
|
```
|
|
517
637
|
|
|
518
|
-
README 단독 구조이면 위 4개 섹션을 README의 `## Styling` 하위에 인라인으로 포함하고, `
|
|
638
|
+
README 단독 구조이면 위 4개 섹션을 README의 `## Styling` 하위에 인라인으로 포함하고, `styling/` 서브디렉토리는 만들지 않는다.
|
|
519
639
|
|
|
520
640
|
### 이전 구조 잔여 파일 정리
|
|
521
641
|
|
|
522
642
|
분할 구조 전환으로 더 이상 유효하지 않은 **레이아웃 파일만** 정리한다. 이 단계는 파일 레이아웃(구조)만 다루며, 내용의 정합성은 다음 "완전성 및 정확성 검증" 단계에서 처리한다.
|
|
523
643
|
|
|
524
|
-
1. 이전 구조(`
|
|
525
|
-
2. 이전에 styling이 단일 파일(`
|
|
526
|
-
3.
|
|
644
|
+
1. 이전 구조(`{category}.md` 단일 파일)에서 분할 구조(`{category}/{entry}.md` 트리)로 전환되면서 더 이상 쓰이지 않는 **카테고리 단위 단일 파일**(예: `utils.md`, `pipes.md`, `drivers.md` 등 카테고리가 디렉토리가 아닌 단일 md로 남은 경우)이 있으면 삭제한다.
|
|
645
|
+
2. 이전에 styling이 단일 파일(`styling.md`)이었고 이번 실행에서 분할 구조(`styling/*.md`)로 전환되면 이전 `styling.md`를 삭제한다. 반대로 README 단독 구조로 전환되어 `styling/` 서브디렉토리가 불필요해지면 해당 서브디렉토리를 삭제한다.
|
|
646
|
+
3. 출력 경로 하위의 그 외 파일(현재 Entry 파일, recipe, 가이드 등)은 이 단계에서 삭제하지 않는다. 이들의 존속 여부는 다음 검증 단계 결과에 따라 결정된다.
|
|
527
647
|
|
|
528
648
|
### 완전성 및 정확성 검증
|
|
529
649
|
|
|
530
|
-
문서 작업 후, 수집한 export 목록과
|
|
650
|
+
문서 작업 후, 수집한 export 목록과 출력 경로 하위 **모든 파일**(자동 생성 Entry 파일·styling 파일·recipe·가이드 등 수동 작성물 전부 포함), README.md, _api-index.md를 대조한다. 자동 생성물과 수동 작성물에 **동일한 정합성 규칙**을 적용한다.
|
|
531
651
|
|
|
532
652
|
#### 완전성
|
|
533
653
|
|
|
534
|
-
1. export 목록의 각 항목이
|
|
654
|
+
1. export 목록의 각 항목이 _api-index.md 또는 출력 경로 하위 어느 파일(서브디렉토리 포함)에 존재하는지 확인
|
|
535
655
|
2. 누락된 항목이 있으면 해당 API를 문서에 추가 (단, "소비자 관점 완전성" 원칙에 따라 내부 유틸·재노출 타입은 흡수·생략 가능)
|
|
536
656
|
3. 문서에 있는 심볼 참조 중 **현재 export에 없는 것**(제거·이름 변경된 API)은 소스 기준으로 수정하거나 제거
|
|
537
657
|
4. **주제 자체가 소멸한 문서는 파일 통째로 삭제**: recipe·가이드·사용 예시처럼 특정 API 중심으로 작성된 파일의 경우, 해당 문서가 다루는 핵심 주제(제목·첫 문단·코드 예제에서 중심이 되는 anchor 심볼)가 현재 export에서 **전부 사라졌다면** 파일 내 심볼 참조를 하나씩 고치는 대신 **파일 자체를 삭제**한다. 주제가 일부만 바뀐 경우(일부 API만 사라짐)에는 내용을 수정하고 파일은 유지한다.
|
|
538
|
-
|
|
658
|
+
|
|
659
|
+
#### 작업 라우팅 완전성
|
|
660
|
+
|
|
661
|
+
5. **README의 작업 라우팅 커버리지**: 모든 Entry가 README의 "하려는 작업" 테이블에 최소 1개 행으로 포함되어 있는지 확인. 누락된 Entry가 있으면 적절한 작업 도메인에 행을 추가한다.
|
|
662
|
+
6. **README 링크 무결성**: 모든 `[...](./...)` 링크의 대상 파일이 실제로 존재하는지 확인. 깨진 링크는 수정하거나 제거 (4번에서 파일이 삭제된 경우 해당 링크도 제거)
|
|
663
|
+
7. **_api-index.md 링크 무결성**: 모든 API 행의 문서 링크가 실제 파일을 가리키는지 확인
|
|
539
664
|
|
|
540
665
|
#### 정확성
|
|
541
666
|
|
|
@@ -558,37 +683,36 @@ README 단독 구조이면 위 4개 섹션을 README의 `## Styling` 하위에
|
|
|
558
683
|
|
|
559
684
|
| 검증 항목 | 확인 내용 |
|
|
560
685
|
|-----------|-----------|
|
|
561
|
-
|
|
|
562
|
-
|
|
|
563
|
-
|
|
|
564
|
-
|
|
|
686
|
+
| "읽어야 하는 상황" 필수 | 모든 Entry 파일 제목 아래에 `> **읽어야 하는 상황**:` 인용 블록이 있는가 |
|
|
687
|
+
| 상황 문구 품질 | 사용자 의도 언어로 작성되었는가 (API 이름이 아닌 작업 설명) |
|
|
688
|
+
| When to use 명시 | anchor가 class/provider/주요 함수인 Entry에 "When to use" 섹션이 1문장 이상 있는가 |
|
|
689
|
+
| 계열 간 선택 기준 | 유사 역할 Entry가 ≥2개인 경우 "읽어야 하는 상황"에 상호 분기 안내가 있는가 |
|
|
690
|
+
| Anti-pattern 절제 | 소스에서 실제 확인된 함정만 기술했는가. 억지 Bad 예시가 없는가 |
|
|
691
|
+
| 예제 절제 | 요구사항당 최소 예제 1개로 충분한가. 불필요하게 부풀린 예제가 없는가 |
|
|
565
692
|
| 3인칭 서술 | "I can…", "You should…" 류 1·2인칭 서술이 없는가 |
|
|
566
693
|
| 용어 일관성 | 한 Entry 내에서 동일 개념에 대해 여러 용어가 혼용되지 않는가 |
|
|
694
|
+
| README 작업 도메인 | README의 "하려는 작업" 테이블이 기술 카테고리가 아닌 작업 도메인으로 그룹핑되었는가 |
|
|
567
695
|
|
|
568
696
|
#### 검증 결과 표시
|
|
569
697
|
|
|
570
698
|
```
|
|
571
699
|
완전성 검증: 52/52 API 문서화됨
|
|
700
|
+
작업 라우팅: 52/52 Entry가 README에 포함됨
|
|
572
701
|
정확성 검증: 52/52 API 시그니처 일치
|
|
573
|
-
매뉴얼 품질:
|
|
702
|
+
매뉴얼 품질: 52/52 Entry에 "읽어야 하는 상황" 있음, 48/52에 When to use 명시
|
|
574
703
|
```
|
|
575
704
|
|
|
576
705
|
불일치가 있는 경우:
|
|
577
706
|
|
|
578
707
|
```
|
|
579
708
|
완전성 검증: 52/52 API 문서화됨
|
|
709
|
+
작업 라우팅: 50/52 Entry가 README에 포함됨
|
|
710
|
+
누락: SdResizeDirective, SdIntersectionDirective → "레이아웃·내비게이션" 도메인에 추가
|
|
580
711
|
정확성 검증: 50/52 API 시그니처 일치
|
|
581
|
-
불일치: DbContext (tables→repositories 필드명 변경), FtpStorage (port: required→optional)
|
|
582
|
-
매뉴얼 품질:
|
|
583
|
-
|
|
712
|
+
불일치: DbContext (tables→repositories 필드명 변경), FtpStorage (port: required→optional)
|
|
713
|
+
매뉴얼 품질:
|
|
714
|
+
"읽어야 하는 상황" 누락: SdGap, SdLabel
|
|
715
|
+
When to use 누락: FtpStorage
|
|
716
|
+
선택 기준 누락: SdToast/SdAlert 간 분기 안내 없음
|
|
717
|
+
→ 소스 기준으로 문서를 수정하고 누락 항목을 보완합니다.
|
|
584
718
|
```
|
|
585
|
-
|
|
586
|
-
### package.json `files` 배열 동기화
|
|
587
|
-
|
|
588
|
-
생성된 `docs/`가 npm publish에 포함되도록 `{패키지 경로}/package.json`의 `files` 배열을 점검한다.
|
|
589
|
-
|
|
590
|
-
1. `package.json`에 `files` 필드가 없으면 이 단계를 건너뛴다 (npm이 기본으로 전체 파일 포함).
|
|
591
|
-
2. `files` 필드가 있으면:
|
|
592
|
-
- 실행 후 `{패키지 경로}/docs/`가 존재하면, `files` 배열에 `"docs"`가 **없을 때 추가**한다.
|
|
593
|
-
- 실행 후 `{패키지 경로}/docs/`가 존재하지 않으면(분량 축소로 단독 구조로 전환되었거나 Step 3 판단으로 `docs/`를 생성하지 않은 경우), `files` 배열에 `"docs"`가 **있을 때 제거**한다.
|
|
594
|
-
3. `README.md`는 npm이 `files` 선언과 무관하게 항상 포함하므로 `files`에 추가할 필요가 없다.
|