@shirokuma-library/shirokuma-docs 0.1.0-alpha.5
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.
Potentially problematic release.
This version of @shirokuma-library/shirokuma-docs might be problematic. Click here for more details.
- package/LICENSE +21 -0
- package/README.en.md +308 -0
- package/README.md +308 -0
- package/THIRD_PARTY_NOTICES.md +18 -0
- package/bin/shirokuma-docs +2 -0
- package/dist/analyzers/details-test-analysis.d.ts +31 -0
- package/dist/analyzers/details-test-analysis.d.ts.map +1 -0
- package/dist/analyzers/details-test-analysis.js +172 -0
- package/dist/analyzers/details-test-analysis.js.map +1 -0
- package/dist/analyzers/feature-map-builder.d.ts +20 -0
- package/dist/analyzers/feature-map-builder.d.ts.map +1 -0
- package/dist/analyzers/feature-map-builder.js +154 -0
- package/dist/analyzers/feature-map-builder.js.map +1 -0
- package/dist/analyzers/feature-map-references.d.ts +34 -0
- package/dist/analyzers/feature-map-references.d.ts.map +1 -0
- package/dist/analyzers/feature-map-references.js +249 -0
- package/dist/analyzers/feature-map-references.js.map +1 -0
- package/dist/analyzers/reference-analyzer.d.ts +95 -0
- package/dist/analyzers/reference-analyzer.d.ts.map +1 -0
- package/dist/analyzers/reference-analyzer.js +372 -0
- package/dist/analyzers/reference-analyzer.js.map +1 -0
- package/dist/commands/adr.d.ts +26 -0
- package/dist/commands/adr.d.ts.map +1 -0
- package/dist/commands/adr.js +129 -0
- package/dist/commands/adr.js.map +1 -0
- package/dist/commands/api-tools.d.ts +83 -0
- package/dist/commands/api-tools.d.ts.map +1 -0
- package/dist/commands/api-tools.js +775 -0
- package/dist/commands/api-tools.js.map +1 -0
- package/dist/commands/coverage.d.ts +139 -0
- package/dist/commands/coverage.d.ts.map +1 -0
- package/dist/commands/coverage.js +481 -0
- package/dist/commands/coverage.js.map +1 -0
- package/dist/commands/deps.d.ts +24 -0
- package/dist/commands/deps.d.ts.map +1 -0
- package/dist/commands/deps.js +211 -0
- package/dist/commands/deps.js.map +1 -0
- package/dist/commands/details-context.d.ts +38 -0
- package/dist/commands/details-context.d.ts.map +1 -0
- package/dist/commands/details-context.js +193 -0
- package/dist/commands/details-context.js.map +1 -0
- package/dist/commands/details-types.d.ts +315 -0
- package/dist/commands/details-types.d.ts.map +1 -0
- package/dist/commands/details-types.js +7 -0
- package/dist/commands/details-types.js.map +1 -0
- package/dist/commands/details.d.ts +24 -0
- package/dist/commands/details.d.ts.map +1 -0
- package/dist/commands/details.js +299 -0
- package/dist/commands/details.js.map +1 -0
- package/dist/commands/discussion-templates.d.ts +26 -0
- package/dist/commands/discussion-templates.d.ts.map +1 -0
- package/dist/commands/discussion-templates.js +270 -0
- package/dist/commands/discussion-templates.js.map +1 -0
- package/dist/commands/discussions.d.ts +31 -0
- package/dist/commands/discussions.d.ts.map +1 -0
- package/dist/commands/discussions.js +743 -0
- package/dist/commands/discussions.js.map +1 -0
- package/dist/commands/feature-map-types.d.ts +294 -0
- package/dist/commands/feature-map-types.d.ts.map +1 -0
- package/dist/commands/feature-map-types.js +8 -0
- package/dist/commands/feature-map-types.js.map +1 -0
- package/dist/commands/feature-map.d.ts +30 -0
- package/dist/commands/feature-map.d.ts.map +1 -0
- package/dist/commands/feature-map.js +137 -0
- package/dist/commands/feature-map.js.map +1 -0
- package/dist/commands/generate.d.ts +16 -0
- package/dist/commands/generate.d.ts.map +1 -0
- package/dist/commands/generate.js +88 -0
- package/dist/commands/generate.js.map +1 -0
- package/dist/commands/gh-discussions.d.ts +31 -0
- package/dist/commands/gh-discussions.d.ts.map +1 -0
- package/dist/commands/gh-discussions.js +743 -0
- package/dist/commands/gh-discussions.js.map +1 -0
- package/dist/commands/gh-issues-pr.d.ts +74 -0
- package/dist/commands/gh-issues-pr.d.ts.map +1 -0
- package/dist/commands/gh-issues-pr.js +417 -0
- package/dist/commands/gh-issues-pr.js.map +1 -0
- package/dist/commands/gh-issues.d.ts +90 -0
- package/dist/commands/gh-issues.d.ts.map +1 -0
- package/dist/commands/gh-issues.js +1297 -0
- package/dist/commands/gh-issues.js.map +1 -0
- package/dist/commands/gh-projects.d.ts +54 -0
- package/dist/commands/gh-projects.d.ts.map +1 -0
- package/dist/commands/gh-projects.js +966 -0
- package/dist/commands/gh-projects.js.map +1 -0
- package/dist/commands/gh-repo.d.ts +18 -0
- package/dist/commands/gh-repo.d.ts.map +1 -0
- package/dist/commands/gh-repo.js +253 -0
- package/dist/commands/gh-repo.js.map +1 -0
- package/dist/commands/github-data.d.ts +67 -0
- package/dist/commands/github-data.d.ts.map +1 -0
- package/dist/commands/github-data.js +361 -0
- package/dist/commands/github-data.js.map +1 -0
- package/dist/commands/i18n.d.ts +102 -0
- package/dist/commands/i18n.d.ts.map +1 -0
- package/dist/commands/i18n.js +829 -0
- package/dist/commands/i18n.js.map +1 -0
- package/dist/commands/impact.d.ts +14 -0
- package/dist/commands/impact.d.ts.map +1 -0
- package/dist/commands/impact.js +263 -0
- package/dist/commands/impact.js.map +1 -0
- package/dist/commands/init.d.ts +53 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +429 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/issues-pr.d.ts +74 -0
- package/dist/commands/issues-pr.d.ts.map +1 -0
- package/dist/commands/issues-pr.js +417 -0
- package/dist/commands/issues-pr.js.map +1 -0
- package/dist/commands/issues.d.ts +76 -0
- package/dist/commands/issues.d.ts.map +1 -0
- package/dist/commands/issues.js +1285 -0
- package/dist/commands/issues.js.map +1 -0
- package/dist/commands/link-docs.d.ts +21 -0
- package/dist/commands/link-docs.d.ts.map +1 -0
- package/dist/commands/link-docs.js +990 -0
- package/dist/commands/link-docs.js.map +1 -0
- package/dist/commands/lint-annotations.d.ts +28 -0
- package/dist/commands/lint-annotations.d.ts.map +1 -0
- package/dist/commands/lint-annotations.js +511 -0
- package/dist/commands/lint-annotations.js.map +1 -0
- package/dist/commands/lint-code.d.ts +26 -0
- package/dist/commands/lint-code.d.ts.map +1 -0
- package/dist/commands/lint-code.js +428 -0
- package/dist/commands/lint-code.js.map +1 -0
- package/dist/commands/lint-coverage.d.ts +33 -0
- package/dist/commands/lint-coverage.d.ts.map +1 -0
- package/dist/commands/lint-coverage.js +379 -0
- package/dist/commands/lint-coverage.js.map +1 -0
- package/dist/commands/lint-docs.d.ts +23 -0
- package/dist/commands/lint-docs.d.ts.map +1 -0
- package/dist/commands/lint-docs.js +338 -0
- package/dist/commands/lint-docs.js.map +1 -0
- package/dist/commands/lint-structure.d.ts +38 -0
- package/dist/commands/lint-structure.d.ts.map +1 -0
- package/dist/commands/lint-structure.js +350 -0
- package/dist/commands/lint-structure.js.map +1 -0
- package/dist/commands/lint-tests.d.ts +25 -0
- package/dist/commands/lint-tests.d.ts.map +1 -0
- package/dist/commands/lint-tests.js +105 -0
- package/dist/commands/lint-tests.js.map +1 -0
- package/dist/commands/lint-workflow.d.ts +36 -0
- package/dist/commands/lint-workflow.d.ts.map +1 -0
- package/dist/commands/lint-workflow.js +255 -0
- package/dist/commands/lint-workflow.js.map +1 -0
- package/dist/commands/overview.d.ts +21 -0
- package/dist/commands/overview.d.ts.map +1 -0
- package/dist/commands/overview.js +1300 -0
- package/dist/commands/overview.js.map +1 -0
- package/dist/commands/packages.d.ts +107 -0
- package/dist/commands/packages.d.ts.map +1 -0
- package/dist/commands/packages.js +308 -0
- package/dist/commands/packages.js.map +1 -0
- package/dist/commands/portal-nextjs.d.ts +23 -0
- package/dist/commands/portal-nextjs.d.ts.map +1 -0
- package/dist/commands/portal-nextjs.js +336 -0
- package/dist/commands/portal-nextjs.js.map +1 -0
- package/dist/commands/portal.d.ts +24 -0
- package/dist/commands/portal.d.ts.map +1 -0
- package/dist/commands/portal.js +16 -0
- package/dist/commands/portal.js.map +1 -0
- package/dist/commands/projects.d.ts +54 -0
- package/dist/commands/projects.d.ts.map +1 -0
- package/dist/commands/projects.js +969 -0
- package/dist/commands/projects.js.map +1 -0
- package/dist/commands/repo-pairs.d.ts +19 -0
- package/dist/commands/repo-pairs.d.ts.map +1 -0
- package/dist/commands/repo-pairs.js +529 -0
- package/dist/commands/repo-pairs.js.map +1 -0
- package/dist/commands/repo.d.ts +18 -0
- package/dist/commands/repo.d.ts.map +1 -0
- package/dist/commands/repo.js +253 -0
- package/dist/commands/repo.js.map +1 -0
- package/dist/commands/schema.d.ts +49 -0
- package/dist/commands/schema.d.ts.map +1 -0
- package/dist/commands/schema.js +830 -0
- package/dist/commands/schema.js.map +1 -0
- package/dist/commands/screenshots.d.ts +203 -0
- package/dist/commands/screenshots.d.ts.map +1 -0
- package/dist/commands/screenshots.js +1234 -0
- package/dist/commands/screenshots.js.map +1 -0
- package/dist/commands/search-index.d.ts +83 -0
- package/dist/commands/search-index.d.ts.map +1 -0
- package/dist/commands/search-index.js +389 -0
- package/dist/commands/search-index.js.map +1 -0
- package/dist/commands/session.d.ts +153 -0
- package/dist/commands/session.d.ts.map +1 -0
- package/dist/commands/session.js +1243 -0
- package/dist/commands/session.js.map +1 -0
- package/dist/commands/test-cases-types.d.ts +154 -0
- package/dist/commands/test-cases-types.d.ts.map +1 -0
- package/dist/commands/test-cases-types.js +7 -0
- package/dist/commands/test-cases-types.js.map +1 -0
- package/dist/commands/test-cases.d.ts +28 -0
- package/dist/commands/test-cases.d.ts.map +1 -0
- package/dist/commands/test-cases.js +192 -0
- package/dist/commands/test-cases.js.map +1 -0
- package/dist/commands/typedoc.d.ts +21 -0
- package/dist/commands/typedoc.d.ts.map +1 -0
- package/dist/commands/typedoc.js +192 -0
- package/dist/commands/typedoc.js.map +1 -0
- package/dist/commands/update-skills.d.ts +56 -0
- package/dist/commands/update-skills.d.ts.map +1 -0
- package/dist/commands/update-skills.js +620 -0
- package/dist/commands/update-skills.js.map +1 -0
- package/dist/generators/details-entity-pages.d.ts +40 -0
- package/dist/generators/details-entity-pages.d.ts.map +1 -0
- package/dist/generators/details-entity-pages.js +301 -0
- package/dist/generators/details-entity-pages.js.map +1 -0
- package/dist/generators/details-html.d.ts +23 -0
- package/dist/generators/details-html.d.ts.map +1 -0
- package/dist/generators/details-html.js +324 -0
- package/dist/generators/details-html.js.map +1 -0
- package/dist/generators/details-module-page.d.ts +33 -0
- package/dist/generators/details-module-page.d.ts.map +1 -0
- package/dist/generators/details-module-page.js +408 -0
- package/dist/generators/details-module-page.js.map +1 -0
- package/dist/generators/details-styles.d.ts +39 -0
- package/dist/generators/details-styles.d.ts.map +1 -0
- package/dist/generators/details-styles.js +409 -0
- package/dist/generators/details-styles.js.map +1 -0
- package/dist/generators/feature-map-html.d.ts +66 -0
- package/dist/generators/feature-map-html.d.ts.map +1 -0
- package/dist/generators/feature-map-html.js +569 -0
- package/dist/generators/feature-map-html.js.map +1 -0
- package/dist/generators/feature-map-styles.d.ts +39 -0
- package/dist/generators/feature-map-styles.d.ts.map +1 -0
- package/dist/generators/feature-map-styles.js +449 -0
- package/dist/generators/feature-map-styles.js.map +1 -0
- package/dist/generators/test-cases-hierarchy.d.ts +21 -0
- package/dist/generators/test-cases-hierarchy.d.ts.map +1 -0
- package/dist/generators/test-cases-hierarchy.js +336 -0
- package/dist/generators/test-cases-hierarchy.js.map +1 -0
- package/dist/generators/test-cases-main.d.ts +20 -0
- package/dist/generators/test-cases-main.d.ts.map +1 -0
- package/dist/generators/test-cases-main.js +439 -0
- package/dist/generators/test-cases-main.js.map +1 -0
- package/dist/generators/test-cases-styles.d.ts +64 -0
- package/dist/generators/test-cases-styles.d.ts.map +1 -0
- package/dist/generators/test-cases-styles.js +1277 -0
- package/dist/generators/test-cases-styles.js.map +1 -0
- package/dist/index.d.ts +13 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +517 -0
- package/dist/index.js.map +1 -0
- package/dist/lint/annotation-lint.d.ts +198 -0
- package/dist/lint/annotation-lint.d.ts.map +1 -0
- package/dist/lint/annotation-lint.js +510 -0
- package/dist/lint/annotation-lint.js.map +1 -0
- package/dist/lint/annotation-types.d.ts +161 -0
- package/dist/lint/annotation-types.d.ts.map +1 -0
- package/dist/lint/annotation-types.js +31 -0
- package/dist/lint/annotation-types.js.map +1 -0
- package/dist/lint/code-types.d.ts +135 -0
- package/dist/lint/code-types.d.ts.map +1 -0
- package/dist/lint/code-types.js +25 -0
- package/dist/lint/code-types.js.map +1 -0
- package/dist/lint/coverage-types.d.ts +128 -0
- package/dist/lint/coverage-types.d.ts.map +1 -0
- package/dist/lint/coverage-types.js +24 -0
- package/dist/lint/coverage-types.js.map +1 -0
- package/dist/lint/docs-types.d.ts +214 -0
- package/dist/lint/docs-types.d.ts.map +1 -0
- package/dist/lint/docs-types.js +18 -0
- package/dist/lint/docs-types.js.map +1 -0
- package/dist/lint/formatters/index.d.ts +14 -0
- package/dist/lint/formatters/index.d.ts.map +1 -0
- package/dist/lint/formatters/index.js +28 -0
- package/dist/lint/formatters/index.js.map +1 -0
- package/dist/lint/formatters/json.d.ts +11 -0
- package/dist/lint/formatters/json.d.ts.map +1 -0
- package/dist/lint/formatters/json.js +12 -0
- package/dist/lint/formatters/json.js.map +1 -0
- package/dist/lint/formatters/summary.d.ts +11 -0
- package/dist/lint/formatters/summary.d.ts.map +1 -0
- package/dist/lint/formatters/summary.js +37 -0
- package/dist/lint/formatters/summary.js.map +1 -0
- package/dist/lint/formatters/terminal.d.ts +11 -0
- package/dist/lint/formatters/terminal.d.ts.map +1 -0
- package/dist/lint/formatters/terminal.js +99 -0
- package/dist/lint/formatters/terminal.js.map +1 -0
- package/dist/lint/index.d.ts +18 -0
- package/dist/lint/index.d.ts.map +1 -0
- package/dist/lint/index.js +103 -0
- package/dist/lint/index.js.map +1 -0
- package/dist/lint/rules/annotation-required.d.ts +35 -0
- package/dist/lint/rules/annotation-required.d.ts.map +1 -0
- package/dist/lint/rules/annotation-required.js +127 -0
- package/dist/lint/rules/annotation-required.js.map +1 -0
- package/dist/lint/rules/code-rules.d.ts +12 -0
- package/dist/lint/rules/code-rules.d.ts.map +1 -0
- package/dist/lint/rules/code-rules.js +11 -0
- package/dist/lint/rules/code-rules.js.map +1 -0
- package/dist/lint/rules/describe-coverage.d.ts +8 -0
- package/dist/lint/rules/describe-coverage.d.ts.map +1 -0
- package/dist/lint/rules/describe-coverage.js +43 -0
- package/dist/lint/rules/describe-coverage.js.map +1 -0
- package/dist/lint/rules/duplicate-testdoc.d.ts +8 -0
- package/dist/lint/rules/duplicate-testdoc.d.ts.map +1 -0
- package/dist/lint/rules/duplicate-testdoc.js +38 -0
- package/dist/lint/rules/duplicate-testdoc.js.map +1 -0
- package/dist/lint/rules/index.d.ts +29 -0
- package/dist/lint/rules/index.d.ts.map +1 -0
- package/dist/lint/rules/index.js +55 -0
- package/dist/lint/rules/index.js.map +1 -0
- package/dist/lint/rules/server-action-structure.d.ts +37 -0
- package/dist/lint/rules/server-action-structure.d.ts.map +1 -0
- package/dist/lint/rules/server-action-structure.js +151 -0
- package/dist/lint/rules/server-action-structure.js.map +1 -0
- package/dist/lint/rules/skipped-test-report.d.ts +11 -0
- package/dist/lint/rules/skipped-test-report.d.ts.map +1 -0
- package/dist/lint/rules/skipped-test-report.js +31 -0
- package/dist/lint/rules/skipped-test-report.js.map +1 -0
- package/dist/lint/rules/structure-rules.d.ts +67 -0
- package/dist/lint/rules/structure-rules.d.ts.map +1 -0
- package/dist/lint/rules/structure-rules.js +615 -0
- package/dist/lint/rules/structure-rules.js.map +1 -0
- package/dist/lint/rules/testdoc-japanese.d.ts +8 -0
- package/dist/lint/rules/testdoc-japanese.d.ts.map +1 -0
- package/dist/lint/rules/testdoc-japanese.js +31 -0
- package/dist/lint/rules/testdoc-japanese.js.map +1 -0
- package/dist/lint/rules/testdoc-min-length.d.ts +8 -0
- package/dist/lint/rules/testdoc-min-length.d.ts.map +1 -0
- package/dist/lint/rules/testdoc-min-length.js +31 -0
- package/dist/lint/rules/testdoc-min-length.js.map +1 -0
- package/dist/lint/rules/testdoc-required.d.ts +8 -0
- package/dist/lint/rules/testdoc-required.d.ts.map +1 -0
- package/dist/lint/rules/testdoc-required.js +27 -0
- package/dist/lint/rules/testdoc-required.js.map +1 -0
- package/dist/lint/rules/workflow-branch-naming.d.ts +20 -0
- package/dist/lint/rules/workflow-branch-naming.d.ts.map +1 -0
- package/dist/lint/rules/workflow-branch-naming.js +85 -0
- package/dist/lint/rules/workflow-branch-naming.js.map +1 -0
- package/dist/lint/rules/workflow-commit-format.d.ts +27 -0
- package/dist/lint/rules/workflow-commit-format.d.ts.map +1 -0
- package/dist/lint/rules/workflow-commit-format.js +92 -0
- package/dist/lint/rules/workflow-commit-format.js.map +1 -0
- package/dist/lint/rules/workflow-issue-fields.d.ts +24 -0
- package/dist/lint/rules/workflow-issue-fields.d.ts.map +1 -0
- package/dist/lint/rules/workflow-issue-fields.js +89 -0
- package/dist/lint/rules/workflow-issue-fields.js.map +1 -0
- package/dist/lint/rules/workflow-main-protection.d.ts +32 -0
- package/dist/lint/rules/workflow-main-protection.d.ts.map +1 -0
- package/dist/lint/rules/workflow-main-protection.js +114 -0
- package/dist/lint/rules/workflow-main-protection.js.map +1 -0
- package/dist/lint/structure-types.d.ts +216 -0
- package/dist/lint/structure-types.d.ts.map +1 -0
- package/dist/lint/structure-types.js +96 -0
- package/dist/lint/structure-types.js.map +1 -0
- package/dist/lint/types.d.ts +154 -0
- package/dist/lint/types.d.ts.map +1 -0
- package/dist/lint/types.js +21 -0
- package/dist/lint/types.js.map +1 -0
- package/dist/lint/workflow-types.d.ts +90 -0
- package/dist/lint/workflow-types.d.ts.map +1 -0
- package/dist/lint/workflow-types.js +7 -0
- package/dist/lint/workflow-types.js.map +1 -0
- package/dist/md/analyzer/index.d.ts +46 -0
- package/dist/md/analyzer/index.d.ts.map +1 -0
- package/dist/md/analyzer/index.js +288 -0
- package/dist/md/analyzer/index.js.map +1 -0
- package/dist/md/builder/index.d.ts +91 -0
- package/dist/md/builder/index.d.ts.map +1 -0
- package/dist/md/builder/index.js +446 -0
- package/dist/md/builder/index.js.map +1 -0
- package/dist/md/cli/analyze.d.ts +11 -0
- package/dist/md/cli/analyze.d.ts.map +1 -0
- package/dist/md/cli/analyze.js +118 -0
- package/dist/md/cli/analyze.js.map +1 -0
- package/dist/md/cli/build.d.ts +11 -0
- package/dist/md/cli/build.d.ts.map +1 -0
- package/dist/md/cli/build.js +74 -0
- package/dist/md/cli/build.js.map +1 -0
- package/dist/md/cli/extract.d.ts +25 -0
- package/dist/md/cli/extract.d.ts.map +1 -0
- package/dist/md/cli/extract.js +230 -0
- package/dist/md/cli/extract.js.map +1 -0
- package/dist/md/cli/index.d.ts +3 -0
- package/dist/md/cli/index.d.ts.map +1 -0
- package/dist/md/cli/index.js +99 -0
- package/dist/md/cli/index.js.map +1 -0
- package/dist/md/cli/lint.d.ts +11 -0
- package/dist/md/cli/lint.d.ts.map +1 -0
- package/dist/md/cli/lint.js +165 -0
- package/dist/md/cli/lint.js.map +1 -0
- package/dist/md/cli/list.d.ts +16 -0
- package/dist/md/cli/list.d.ts.map +1 -0
- package/dist/md/cli/list.js +85 -0
- package/dist/md/cli/list.js.map +1 -0
- package/dist/md/cli/program.d.ts +11 -0
- package/dist/md/cli/program.d.ts.map +1 -0
- package/dist/md/cli/program.js +104 -0
- package/dist/md/cli/program.js.map +1 -0
- package/dist/md/cli/validate.d.ts +8 -0
- package/dist/md/cli/validate.d.ts.map +1 -0
- package/dist/md/cli/validate.js +82 -0
- package/dist/md/cli/validate.js.map +1 -0
- package/dist/md/constants.d.ts +69 -0
- package/dist/md/constants.d.ts.map +1 -0
- package/dist/md/constants.js +69 -0
- package/dist/md/constants.js.map +1 -0
- package/dist/md/extractor/index.d.ts +57 -0
- package/dist/md/extractor/index.d.ts.map +1 -0
- package/dist/md/extractor/index.js +359 -0
- package/dist/md/extractor/index.js.map +1 -0
- package/dist/md/index.d.ts +26 -0
- package/dist/md/index.d.ts.map +1 -0
- package/dist/md/index.js +30 -0
- package/dist/md/index.js.map +1 -0
- package/dist/md/linter/index.d.ts +20 -0
- package/dist/md/linter/index.d.ts.map +1 -0
- package/dist/md/linter/index.js +412 -0
- package/dist/md/linter/index.js.map +1 -0
- package/dist/md/linter/token-optimizer.d.ts +66 -0
- package/dist/md/linter/token-optimizer.d.ts.map +1 -0
- package/dist/md/linter/token-optimizer.js +292 -0
- package/dist/md/linter/token-optimizer.js.map +1 -0
- package/dist/md/lister/index.d.ts +42 -0
- package/dist/md/lister/index.d.ts.map +1 -0
- package/dist/md/lister/index.js +317 -0
- package/dist/md/lister/index.js.map +1 -0
- package/dist/md/parser/heading-numbers.d.ts +43 -0
- package/dist/md/parser/heading-numbers.d.ts.map +1 -0
- package/dist/md/parser/heading-numbers.js +97 -0
- package/dist/md/parser/heading-numbers.js.map +1 -0
- package/dist/md/parser/section-meta.d.ts +50 -0
- package/dist/md/parser/section-meta.d.ts.map +1 -0
- package/dist/md/parser/section-meta.js +212 -0
- package/dist/md/parser/section-meta.js.map +1 -0
- package/dist/md/parser/template.d.ts +56 -0
- package/dist/md/parser/template.d.ts.map +1 -0
- package/dist/md/parser/template.js +122 -0
- package/dist/md/parser/template.js.map +1 -0
- package/dist/md/plugins/loader.d.ts +15 -0
- package/dist/md/plugins/loader.d.ts.map +1 -0
- package/dist/md/plugins/loader.js +80 -0
- package/dist/md/plugins/loader.js.map +1 -0
- package/dist/md/plugins/normalize-headings.d.ts +43 -0
- package/dist/md/plugins/normalize-headings.d.ts.map +1 -0
- package/dist/md/plugins/normalize-headings.js +51 -0
- package/dist/md/plugins/normalize-headings.js.map +1 -0
- package/dist/md/plugins/normalize-whitespace.d.ts +46 -0
- package/dist/md/plugins/normalize-whitespace.d.ts.map +1 -0
- package/dist/md/plugins/normalize-whitespace.js +86 -0
- package/dist/md/plugins/normalize-whitespace.js.map +1 -0
- package/dist/md/plugins/remove-badges.d.ts +36 -0
- package/dist/md/plugins/remove-badges.d.ts.map +1 -0
- package/dist/md/plugins/remove-badges.js +59 -0
- package/dist/md/plugins/remove-badges.js.map +1 -0
- package/dist/md/plugins/remove-comments.d.ts +27 -0
- package/dist/md/plugins/remove-comments.d.ts.map +1 -0
- package/dist/md/plugins/remove-comments.js +40 -0
- package/dist/md/plugins/remove-comments.js.map +1 -0
- package/dist/md/plugins/remove-duplicates.d.ts +40 -0
- package/dist/md/plugins/remove-duplicates.d.ts.map +1 -0
- package/dist/md/plugins/remove-duplicates.js +72 -0
- package/dist/md/plugins/remove-duplicates.js.map +1 -0
- package/dist/md/plugins/remove-internal-links.d.ts +38 -0
- package/dist/md/plugins/remove-internal-links.d.ts.map +1 -0
- package/dist/md/plugins/remove-internal-links.js +66 -0
- package/dist/md/plugins/remove-internal-links.js.map +1 -0
- package/dist/md/plugins/strip-heading-numbers.d.ts +35 -0
- package/dist/md/plugins/strip-heading-numbers.d.ts.map +1 -0
- package/dist/md/plugins/strip-heading-numbers.js +59 -0
- package/dist/md/plugins/strip-heading-numbers.js.map +1 -0
- package/dist/md/plugins/strip-section-meta.d.ts +37 -0
- package/dist/md/plugins/strip-section-meta.d.ts.map +1 -0
- package/dist/md/plugins/strip-section-meta.js +62 -0
- package/dist/md/plugins/strip-section-meta.js.map +1 -0
- package/dist/md/types/config.d.ts +260 -0
- package/dist/md/types/config.d.ts.map +1 -0
- package/dist/md/types/config.js +156 -0
- package/dist/md/types/config.js.map +1 -0
- package/dist/md/types/document.d.ts +37 -0
- package/dist/md/types/document.d.ts.map +1 -0
- package/dist/md/types/document.js +2 -0
- package/dist/md/types/document.js.map +1 -0
- package/dist/md/types/validation.d.ts +107 -0
- package/dist/md/types/validation.d.ts.map +1 -0
- package/dist/md/types/validation.js +2 -0
- package/dist/md/types/validation.js.map +1 -0
- package/dist/md/utils/code-blocks.d.ts +136 -0
- package/dist/md/utils/code-blocks.d.ts.map +1 -0
- package/dist/md/utils/code-blocks.js +178 -0
- package/dist/md/utils/code-blocks.js.map +1 -0
- package/dist/md/utils/config.d.ts +10 -0
- package/dist/md/utils/config.d.ts.map +1 -0
- package/dist/md/utils/config.js +99 -0
- package/dist/md/utils/config.js.map +1 -0
- package/dist/md/utils/file-collector.d.ts +78 -0
- package/dist/md/utils/file-collector.d.ts.map +1 -0
- package/dist/md/utils/file-collector.js +100 -0
- package/dist/md/utils/file-collector.js.map +1 -0
- package/dist/md/utils/markdown.d.ts +18 -0
- package/dist/md/utils/markdown.d.ts.map +1 -0
- package/dist/md/utils/markdown.js +93 -0
- package/dist/md/utils/markdown.js.map +1 -0
- package/dist/md/utils/remark.d.ts +91 -0
- package/dist/md/utils/remark.d.ts.map +1 -0
- package/dist/md/utils/remark.js +125 -0
- package/dist/md/utils/remark.js.map +1 -0
- package/dist/md/utils/tokens.d.ts +9 -0
- package/dist/md/utils/tokens.d.ts.map +1 -0
- package/dist/md/utils/tokens.js +31 -0
- package/dist/md/utils/tokens.js.map +1 -0
- package/dist/md/validator/index.d.ts +40 -0
- package/dist/md/validator/index.d.ts.map +1 -0
- package/dist/md/validator/index.js +289 -0
- package/dist/md/validator/index.js.map +1 -0
- package/dist/parsers/details-jsdoc.d.ts +46 -0
- package/dist/parsers/details-jsdoc.d.ts.map +1 -0
- package/dist/parsers/details-jsdoc.js +262 -0
- package/dist/parsers/details-jsdoc.js.map +1 -0
- package/dist/parsers/details-zod.d.ts +22 -0
- package/dist/parsers/details-zod.d.ts.map +1 -0
- package/dist/parsers/details-zod.js +145 -0
- package/dist/parsers/details-zod.js.map +1 -0
- package/dist/parsers/drizzle-schema.d.ts +92 -0
- package/dist/parsers/drizzle-schema.d.ts.map +1 -0
- package/dist/parsers/drizzle-schema.js +376 -0
- package/dist/parsers/drizzle-schema.js.map +1 -0
- package/dist/parsers/feature-map-tags.d.ts +45 -0
- package/dist/parsers/feature-map-tags.d.ts.map +1 -0
- package/dist/parsers/feature-map-tags.js +292 -0
- package/dist/parsers/feature-map-tags.js.map +1 -0
- package/dist/parsers/feature-map-type-extraction.d.ts +62 -0
- package/dist/parsers/feature-map-type-extraction.d.ts.map +1 -0
- package/dist/parsers/feature-map-type-extraction.js +347 -0
- package/dist/parsers/feature-map-type-extraction.js.map +1 -0
- package/dist/parsers/feature-map-utils.d.ts +34 -0
- package/dist/parsers/feature-map-utils.d.ts.map +1 -0
- package/dist/parsers/feature-map-utils.js +101 -0
- package/dist/parsers/feature-map-utils.js.map +1 -0
- package/dist/parsers/jsdoc-common.d.ts +209 -0
- package/dist/parsers/jsdoc-common.d.ts.map +1 -0
- package/dist/parsers/jsdoc-common.js +655 -0
- package/dist/parsers/jsdoc-common.js.map +1 -0
- package/dist/parsers/jsdoc.d.ts +76 -0
- package/dist/parsers/jsdoc.d.ts.map +1 -0
- package/dist/parsers/jsdoc.js +238 -0
- package/dist/parsers/jsdoc.js.map +1 -0
- package/dist/parsers/screenshot-annotations.d.ts +96 -0
- package/dist/parsers/screenshot-annotations.d.ts.map +1 -0
- package/dist/parsers/screenshot-annotations.js +227 -0
- package/dist/parsers/screenshot-annotations.js.map +1 -0
- package/dist/parsers/test-annotations.d.ts +46 -0
- package/dist/parsers/test-annotations.d.ts.map +1 -0
- package/dist/parsers/test-annotations.js +393 -0
- package/dist/parsers/test-annotations.js.map +1 -0
- package/dist/parsers/test-categorization.d.ts +42 -0
- package/dist/parsers/test-categorization.d.ts.map +1 -0
- package/dist/parsers/test-categorization.js +182 -0
- package/dist/parsers/test-categorization.js.map +1 -0
- package/dist/parsers/zod-schema.d.ts +105 -0
- package/dist/parsers/zod-schema.d.ts.map +1 -0
- package/dist/parsers/zod-schema.js +270 -0
- package/dist/parsers/zod-schema.js.map +1 -0
- package/dist/utils/action-inference.d.ts +23 -0
- package/dist/utils/action-inference.d.ts.map +1 -0
- package/dist/utils/action-inference.js +36 -0
- package/dist/utils/action-inference.js.map +1 -0
- package/dist/utils/app-inference.d.ts +31 -0
- package/dist/utils/app-inference.d.ts.map +1 -0
- package/dist/utils/app-inference.js +41 -0
- package/dist/utils/app-inference.js.map +1 -0
- package/dist/utils/auto-infer.d.ts +93 -0
- package/dist/utils/auto-infer.d.ts.map +1 -0
- package/dist/utils/auto-infer.js +184 -0
- package/dist/utils/auto-infer.js.map +1 -0
- package/dist/utils/config.d.ts +709 -0
- package/dist/utils/config.d.ts.map +1 -0
- package/dist/utils/config.js +504 -0
- package/dist/utils/config.js.map +1 -0
- package/dist/utils/file.d.ts +46 -0
- package/dist/utils/file.d.ts.map +1 -0
- package/dist/utils/file.js +103 -0
- package/dist/utils/file.js.map +1 -0
- package/dist/utils/formatters.d.ts +111 -0
- package/dist/utils/formatters.d.ts.map +1 -0
- package/dist/utils/formatters.js +164 -0
- package/dist/utils/formatters.js.map +1 -0
- package/dist/utils/gh-config.d.ts +99 -0
- package/dist/utils/gh-config.d.ts.map +1 -0
- package/dist/utils/gh-config.js +247 -0
- package/dist/utils/gh-config.js.map +1 -0
- package/dist/utils/github.d.ts +98 -0
- package/dist/utils/github.d.ts.map +1 -0
- package/dist/utils/github.js +295 -0
- package/dist/utils/github.js.map +1 -0
- package/dist/utils/html.d.ts +107 -0
- package/dist/utils/html.d.ts.map +1 -0
- package/dist/utils/html.js +376 -0
- package/dist/utils/html.js.map +1 -0
- package/dist/utils/i18n.d.ts +40 -0
- package/dist/utils/i18n.d.ts.map +1 -0
- package/dist/utils/i18n.js +148 -0
- package/dist/utils/i18n.js.map +1 -0
- package/dist/utils/logger.d.ts +20 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +49 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/project-fields.d.ts +71 -0
- package/dist/utils/project-fields.d.ts.map +1 -0
- package/dist/utils/project-fields.js +318 -0
- package/dist/utils/project-fields.js.map +1 -0
- package/dist/utils/repo-pairs.d.ts +94 -0
- package/dist/utils/repo-pairs.d.ts.map +1 -0
- package/dist/utils/repo-pairs.js +196 -0
- package/dist/utils/repo-pairs.js.map +1 -0
- package/dist/utils/route-inference.d.ts +81 -0
- package/dist/utils/route-inference.d.ts.map +1 -0
- package/dist/utils/route-inference.js +137 -0
- package/dist/utils/route-inference.js.map +1 -0
- package/dist/utils/setup-check.d.ts +34 -0
- package/dist/utils/setup-check.d.ts.map +1 -0
- package/dist/utils/setup-check.js +136 -0
- package/dist/utils/setup-check.js.map +1 -0
- package/dist/utils/shirokumaignore.d.ts +55 -0
- package/dist/utils/shirokumaignore.d.ts.map +1 -0
- package/dist/utils/shirokumaignore.js +94 -0
- package/dist/utils/shirokumaignore.js.map +1 -0
- package/dist/utils/skills-repo.d.ts +353 -0
- package/dist/utils/skills-repo.d.ts.map +1 -0
- package/dist/utils/skills-repo.js +793 -0
- package/dist/utils/skills-repo.js.map +1 -0
- package/dist/utils/status-workflow.d.ts +54 -0
- package/dist/utils/status-workflow.d.ts.map +1 -0
- package/dist/utils/status-workflow.js +103 -0
- package/dist/utils/status-workflow.js.map +1 -0
- package/dist/validators/frontmatter.d.ts +41 -0
- package/dist/validators/frontmatter.d.ts.map +1 -0
- package/dist/validators/frontmatter.js +117 -0
- package/dist/validators/frontmatter.js.map +1 -0
- package/dist/validators/link-checker.d.ts +48 -0
- package/dist/validators/link-checker.d.ts.map +1 -0
- package/dist/validators/link-checker.js +108 -0
- package/dist/validators/link-checker.js.map +1 -0
- package/dist/validators/markdown-structure.d.ts +50 -0
- package/dist/validators/markdown-structure.d.ts.map +1 -0
- package/dist/validators/markdown-structure.js +253 -0
- package/dist/validators/markdown-structure.js.map +1 -0
- package/i18n/cli/en.json +155 -0
- package/i18n/cli/ja.json +155 -0
- package/i18n/discussion/en.json +191 -0
- package/i18n/discussion/ja.json +191 -0
- package/package.json +113 -0
- package/portal/app/api-tools/api-tools-client.tsx +411 -0
- package/portal/app/api-tools/api-tools-document.tsx +240 -0
- package/portal/app/api-tools/page.tsx +56 -0
- package/portal/app/api-tools/swagger-view.tsx +114 -0
- package/portal/app/apps/[appId]/[type]/[module]/[item]/item-tabs-client.tsx +71 -0
- package/portal/app/apps/[appId]/[type]/[module]/[item]/page.tsx +1422 -0
- package/portal/app/apps/[appId]/[type]/[module]/page.tsx +373 -0
- package/portal/app/apps/[appId]/feature-map/feature-map-app-document.tsx +298 -0
- package/portal/app/apps/[appId]/feature-map/page.tsx +224 -0
- package/portal/app/apps/[appId]/i18n/page.tsx +139 -0
- package/portal/app/apps/[appId]/test-cases/page.tsx +840 -0
- package/portal/app/apps/[appId]/tools/[tool]/page.tsx +351 -0
- package/portal/app/apps/[appId]/tools/api-tools-client.tsx +429 -0
- package/portal/app/apps/[appId]/tools/page.tsx +119 -0
- package/portal/app/db-schema/[db]/[table]/page.tsx +235 -0
- package/portal/app/db-schema/[db]/diagram/page.tsx +81 -0
- package/portal/app/db-schema/[db]/page.tsx +148 -0
- package/portal/app/db-schema/db-schema-document.tsx +100 -0
- package/portal/app/db-schema/diagram/client.tsx +211 -0
- package/portal/app/db-schema/diagram/page.tsx +20 -0
- package/portal/app/db-schema/page.tsx +145 -0
- package/portal/app/db-schema/table-detail-document.tsx +710 -0
- package/portal/app/db-schema/table-detail.tsx +747 -0
- package/portal/app/db-schema/table-list-document.tsx +224 -0
- package/portal/app/db-schema/table-list.tsx +247 -0
- package/portal/app/details/[type]/[module]/[item]/item-tabs-client.tsx +71 -0
- package/portal/app/details/[type]/[module]/[item]/page.tsx +1286 -0
- package/portal/app/details/[type]/[module]/page.tsx +884 -0
- package/portal/app/feature-map/feature-map-client.tsx +681 -0
- package/portal/app/feature-map/feature-map-document.tsx +313 -0
- package/portal/app/feature-map/page.tsx +438 -0
- package/portal/app/globals.css +205 -0
- package/portal/app/i18n/[...namespace]/page.tsx +190 -0
- package/portal/app/i18n/i18n-client.tsx +369 -0
- package/portal/app/i18n/page.tsx +339 -0
- package/portal/app/layout.tsx +37 -0
- package/portal/app/overview/page.tsx +65 -0
- package/portal/app/packages/[packageId]/page.tsx +201 -0
- package/portal/app/packages/page.tsx +148 -0
- package/portal/app/page.tsx +568 -0
- package/portal/app/test-cases/[file]/[line]/page.tsx +455 -0
- package/portal/app/test-cases/[file]/[line]/test-detail-document.tsx +335 -0
- package/portal/app/test-cases/[file]/page.tsx +323 -0
- package/portal/app/test-cases/[file]/test-file-document.tsx +335 -0
- package/portal/app/test-cases/page.tsx +546 -0
- package/portal/app/test-cases/test-cases-document.tsx +384 -0
- package/portal/components/code-block.tsx +57 -0
- package/portal/components/document/doc-params-table.tsx +71 -0
- package/portal/components/document/doc-section.tsx +133 -0
- package/portal/components/document/doc-table.tsx +119 -0
- package/portal/components/document/index.ts +9 -0
- package/portal/components/drawflow-er-diagram.tsx +607 -0
- package/portal/components/interactive-er-diagram.tsx +228 -0
- package/portal/components/layout/app-sidebar.tsx +490 -0
- package/portal/components/layout/er-sidebar.tsx +116 -0
- package/portal/components/layout/global-header.tsx +117 -0
- package/portal/components/layout/layout-content.tsx +48 -0
- package/portal/components/markdown-content.tsx +120 -0
- package/portal/components/mermaid-diagram.tsx +83 -0
- package/portal/components/reactflow-er-diagram.tsx +475 -0
- package/portal/components/search-dialog.tsx +268 -0
- package/portal/components/shared/coverage-score-bar.tsx +144 -0
- package/portal/components/swagger/endpoint-accordion.tsx +117 -0
- package/portal/components/swagger/index.ts +7 -0
- package/portal/components/swagger/method-badge.tsx +55 -0
- package/portal/components/swagger/params-table.tsx +78 -0
- package/portal/components/tabs-with-hash.tsx +43 -0
- package/portal/components/test/index.ts +2 -0
- package/portal/components/test/test-bdd-card.tsx +192 -0
- package/portal/components/test/test-matrix.tsx +242 -0
- package/portal/components/ui/accordion.tsx +66 -0
- package/portal/components/ui/badge.tsx +46 -0
- package/portal/components/ui/breadcrumb.tsx +109 -0
- package/portal/components/ui/button.tsx +62 -0
- package/portal/components/ui/card.tsx +92 -0
- package/portal/components/ui/collapsible.tsx +33 -0
- package/portal/components/ui/dialog.tsx +118 -0
- package/portal/components/ui/progress.tsx +28 -0
- package/portal/components/ui/scroll-area.tsx +58 -0
- package/portal/components/ui/sheet.tsx +139 -0
- package/portal/components/ui/table.tsx +116 -0
- package/portal/components/ui/tabs.tsx +66 -0
- package/portal/components.json +21 -0
- package/portal/lib/constants/test-categories.ts +186 -0
- package/portal/lib/data-loader.ts +1181 -0
- package/portal/lib/db-schema-utils.ts +182 -0
- package/portal/lib/format.ts +43 -0
- package/portal/lib/hooks/use-hash-tab.ts +144 -0
- package/portal/lib/path-utils.ts +25 -0
- package/portal/lib/search-index-generator.ts +214 -0
- package/portal/lib/search.ts +126 -0
- package/portal/lib/sidebar-context.tsx +111 -0
- package/portal/lib/types.ts +740 -0
- package/portal/lib/utils.ts +6 -0
- package/portal/next.config.ts +21 -0
- package/portal/package.json +45 -0
- package/portal/postcss.config.mjs +8 -0
- package/portal/tsconfig.json +41 -0
- package/portal/types/drawflow.d.ts +80 -0
- package/templates/README.md +73 -0
- package/templates/coverage.html +367 -0
- package/templates/dark-theme.css +443 -0
- package/templates/discussion/adr.yml.hbs +65 -0
- package/templates/discussion/handovers.yml.hbs +57 -0
- package/templates/discussion/knowledge.yml.hbs +60 -0
- package/templates/discussion/reports.yml.hbs +68 -0
- package/templates/discussion/research.yml.hbs +61 -0
|
@@ -0,0 +1,429 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* init command - Initialize configuration file
|
|
3
|
+
*
|
|
4
|
+
* @description Initializes shirokuma-docs configuration for a project and
|
|
5
|
+
* optionally installs the bundled shirokuma-skills-en plugin.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```bash
|
|
9
|
+
* # Create config file only
|
|
10
|
+
* shirokuma-docs init
|
|
11
|
+
*
|
|
12
|
+
* # Install plugin (skills + rules)
|
|
13
|
+
* shirokuma-docs init --with-skills
|
|
14
|
+
*
|
|
15
|
+
* # Install specific skills only
|
|
16
|
+
* shirokuma-docs init --with-skills=nextjs-vibe-coding,reviewing-on-issue
|
|
17
|
+
* ```
|
|
18
|
+
*/
|
|
19
|
+
import { resolve, dirname } from "node:path";
|
|
20
|
+
import { existsSync, writeFileSync, readFileSync, mkdirSync, rmSync } from "node:fs";
|
|
21
|
+
import { Document as YamlDocument } from "yaml";
|
|
22
|
+
import { createLogger } from "../utils/logger.js";
|
|
23
|
+
import { t } from "../utils/i18n.js";
|
|
24
|
+
import { deployRules, registerPluginCache, ensureMarketplace, getGlobalCachePath, cleanupLegacyPluginDir, getInstalledSkills, getInstalledRules, updateGitignore, isSelfRepo, isClaudeCliAvailable, hasJaPlugin, hasHooksPlugin, getLanguageSetting, getBundledPluginPath, getBundledPluginPathJa, DEPLOYED_RULES_DIR, DEPLOYED_RULES_DIR_JA, PLUGIN_NAME, PLUGIN_NAME_JA, PLUGIN_REGISTRY_ID_JA, PLUGIN_REGISTRY_ID_HOOKS, } from "../utils/skills-repo.js";
|
|
25
|
+
/** 言語コードから settings.json の language 値へのマッピング */
|
|
26
|
+
const LANG_MAP = {
|
|
27
|
+
en: "english",
|
|
28
|
+
ja: "japanese",
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* init command error
|
|
32
|
+
*/
|
|
33
|
+
class InitError extends Error {
|
|
34
|
+
cause;
|
|
35
|
+
constructor(message, cause) {
|
|
36
|
+
super(message);
|
|
37
|
+
this.cause = cause;
|
|
38
|
+
this.name = "InitError";
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Default config template
|
|
43
|
+
*/
|
|
44
|
+
const defaultConfigTemplate = {
|
|
45
|
+
project: {
|
|
46
|
+
name: "Project Name",
|
|
47
|
+
description: "プロジェクト説明",
|
|
48
|
+
url: "",
|
|
49
|
+
},
|
|
50
|
+
output: {
|
|
51
|
+
dir: "./docs",
|
|
52
|
+
portal: "./docs/portal",
|
|
53
|
+
generated: "./docs/generated",
|
|
54
|
+
},
|
|
55
|
+
typedoc: {
|
|
56
|
+
entryPoints: [
|
|
57
|
+
"./apps/web/lib/actions",
|
|
58
|
+
"./packages/database/src/schema",
|
|
59
|
+
],
|
|
60
|
+
tsconfig: "./tsconfig.json",
|
|
61
|
+
exclude: ["**/node_modules/**", "**/*.test.ts", "**/*.spec.ts"],
|
|
62
|
+
},
|
|
63
|
+
schema: {
|
|
64
|
+
sources: [
|
|
65
|
+
{ path: "./packages/database/src/schema" },
|
|
66
|
+
],
|
|
67
|
+
pattern: "*.ts",
|
|
68
|
+
},
|
|
69
|
+
deps: {
|
|
70
|
+
include: [
|
|
71
|
+
"apps/web/lib/actions",
|
|
72
|
+
"apps/web/components",
|
|
73
|
+
],
|
|
74
|
+
exclude: ["node_modules", ".next", "dist"],
|
|
75
|
+
output: "./docs/generated/architecture",
|
|
76
|
+
formats: ["svg", "json"],
|
|
77
|
+
},
|
|
78
|
+
testCases: {
|
|
79
|
+
jest: {
|
|
80
|
+
config: "./jest.config.ts",
|
|
81
|
+
testMatch: ["**/__tests__/**/*.test.{ts,tsx}", "**/*.test.{ts,tsx}"],
|
|
82
|
+
},
|
|
83
|
+
playwright: {
|
|
84
|
+
config: "./playwright.config.ts",
|
|
85
|
+
testDir: "./tests/e2e",
|
|
86
|
+
},
|
|
87
|
+
},
|
|
88
|
+
portal: {
|
|
89
|
+
title: "ドキュメントポータル",
|
|
90
|
+
links: [],
|
|
91
|
+
devTools: [],
|
|
92
|
+
},
|
|
93
|
+
lintDocs: {
|
|
94
|
+
enabled: false,
|
|
95
|
+
},
|
|
96
|
+
lintCode: {
|
|
97
|
+
enabled: false,
|
|
98
|
+
},
|
|
99
|
+
lintStructure: {
|
|
100
|
+
enabled: false,
|
|
101
|
+
},
|
|
102
|
+
lintAnnotations: {
|
|
103
|
+
enabled: false,
|
|
104
|
+
},
|
|
105
|
+
adr: {
|
|
106
|
+
enabled: true,
|
|
107
|
+
directory: "docs/adr",
|
|
108
|
+
template: "madr",
|
|
109
|
+
language: "ja",
|
|
110
|
+
},
|
|
111
|
+
};
|
|
112
|
+
/** セクションコメント定義 */
|
|
113
|
+
const sectionComments = {
|
|
114
|
+
typedoc: "TypeDoc API ドキュメント生成対象。自分のプロジェクトのソースパスに変更してください。",
|
|
115
|
+
schema: "Drizzle ORM スキーマの ER 図生成。Drizzle を使わない場合はセクションごと削除してください。",
|
|
116
|
+
deps: "依存関係グラフ生成。include に分析対象のパスを指定してください。",
|
|
117
|
+
testCases: "テストケース抽出設定。Jest / Playwright の設定パスを指定してください。",
|
|
118
|
+
portal: "ドキュメントポータル設定。devTools にローカル開発ツールの URL を追加できます。",
|
|
119
|
+
lintDocs: "ドキュメント構造検証。有効にするには enabled: true に変更してください。",
|
|
120
|
+
lintCode: "コードアノテーション検証。有効にするには enabled: true に変更してください。",
|
|
121
|
+
lintStructure: "プロジェクト構造検証。有効にするには enabled: true に変更してください。",
|
|
122
|
+
lintAnnotations: "アノテーション整合性検証。有効にするには enabled: true に変更してください。",
|
|
123
|
+
adr: "ADR (Architecture Decision Records) 設定。GitHub Discussions 連携。",
|
|
124
|
+
};
|
|
125
|
+
/**
|
|
126
|
+
* YAML Document API を使い、セクションコメント付きの config を生成する
|
|
127
|
+
*/
|
|
128
|
+
function buildConfigYaml(config) {
|
|
129
|
+
const doc = new YamlDocument(config);
|
|
130
|
+
doc.commentBefore = " shirokuma-docs 設定ファイル\n 詳細: https://github.com/ShirokumaLibrary/shirokuma-docs";
|
|
131
|
+
// 各セクションにコメントを付与
|
|
132
|
+
const contents = doc.contents;
|
|
133
|
+
if (contents?.items) {
|
|
134
|
+
for (const item of contents.items) {
|
|
135
|
+
const keyNode = item.key;
|
|
136
|
+
const key = String(keyNode.value);
|
|
137
|
+
if (sectionComments[key]) {
|
|
138
|
+
keyNode.commentBefore = ` ${sectionComments[key]}`;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
return doc.toString({ indent: 2, lineWidth: 0 }) + "\n";
|
|
143
|
+
}
|
|
144
|
+
/**
|
|
145
|
+
* init command handler
|
|
146
|
+
*
|
|
147
|
+
* @param options - Command options
|
|
148
|
+
* @throws {InitError} On fatal error
|
|
149
|
+
*/
|
|
150
|
+
export async function initCommand(options) {
|
|
151
|
+
const logger = createLogger(options.verbose ?? true);
|
|
152
|
+
const projectPath = resolve(options.project);
|
|
153
|
+
const configPath = resolve(projectPath, "shirokuma-docs.config.yaml");
|
|
154
|
+
const result = {
|
|
155
|
+
config_created: false,
|
|
156
|
+
plugin_installed: false,
|
|
157
|
+
cache_registered: false,
|
|
158
|
+
language_set: false,
|
|
159
|
+
gitignore_updated: false,
|
|
160
|
+
gitignore_entries_added: 0,
|
|
161
|
+
skills_installed: [],
|
|
162
|
+
rules_installed: [],
|
|
163
|
+
rules_deployed: 0,
|
|
164
|
+
};
|
|
165
|
+
// Validate --lang option
|
|
166
|
+
if (options.lang && !LANG_MAP[options.lang]) {
|
|
167
|
+
logger.error(`Invalid --lang value: ${options.lang}. Use 'en' or 'ja'.`);
|
|
168
|
+
throw new InitError(`Invalid --lang value: ${options.lang}`);
|
|
169
|
+
}
|
|
170
|
+
// Initialize config file
|
|
171
|
+
// Note: --force only applies to skill/rule redeployment, not config overwrite
|
|
172
|
+
const shouldCreateConfig = !existsSync(configPath);
|
|
173
|
+
if (shouldCreateConfig) {
|
|
174
|
+
logger.info(t("commands.init.initializingConfig", { path: configPath }));
|
|
175
|
+
const yamlContent = buildConfigYaml(defaultConfigTemplate);
|
|
176
|
+
try {
|
|
177
|
+
writeFileSync(configPath, yamlContent, "utf-8");
|
|
178
|
+
logger.success(t("commands.init.success", { path: configPath }));
|
|
179
|
+
result.config_created = true;
|
|
180
|
+
}
|
|
181
|
+
catch (error) {
|
|
182
|
+
const message = t("commands.init.configCreateFailed", {
|
|
183
|
+
error: error instanceof Error ? error.message : String(error),
|
|
184
|
+
});
|
|
185
|
+
logger.error(message);
|
|
186
|
+
throw new InitError(message, error);
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
else if (!options.withSkills && !options.withRules && !options.lang) {
|
|
190
|
+
logger.warn(t("commands.init.exists"));
|
|
191
|
+
logger.info(t("commands.init.existsHint"));
|
|
192
|
+
logger.info(t("commands.init.existsRegenHint"));
|
|
193
|
+
return;
|
|
194
|
+
}
|
|
195
|
+
// Install plugin (skills + rules)
|
|
196
|
+
if (options.withSkills || options.withRules) {
|
|
197
|
+
try {
|
|
198
|
+
logger.info("\n" + t("commands.init.installingPlugin"));
|
|
199
|
+
const isExternal = !isSelfRepo(projectPath);
|
|
200
|
+
// 言語設定を確認(--lang オプション優先、なければ既存 settings.json)
|
|
201
|
+
const effectiveLang = options.lang ? LANG_MAP[options.lang] : getLanguageSetting(projectPath);
|
|
202
|
+
// 外部プロジェクト: marketplace 登録 + キャッシュインストール
|
|
203
|
+
if (isExternal && isClaudeCliAvailable()) {
|
|
204
|
+
logger.info("\n" + t("commands.init.registeringCache"));
|
|
205
|
+
const marketplaceOk = ensureMarketplace();
|
|
206
|
+
if (marketplaceOk) {
|
|
207
|
+
// 言語に応じたスキルプラグインを登録(#495)
|
|
208
|
+
if (effectiveLang === "japanese" && hasJaPlugin()) {
|
|
209
|
+
const jaCacheResult = registerPluginCache(projectPath, { registryId: PLUGIN_REGISTRY_ID_JA });
|
|
210
|
+
if (jaCacheResult.success) {
|
|
211
|
+
logger.success(t("commands.init.jaCacheRegistered"));
|
|
212
|
+
result.cache_registered = true;
|
|
213
|
+
}
|
|
214
|
+
else {
|
|
215
|
+
logger.warn(t("commands.init.cacheFailed", { message: jaCacheResult.message ?? "" }));
|
|
216
|
+
}
|
|
217
|
+
}
|
|
218
|
+
else {
|
|
219
|
+
const cacheResult = registerPluginCache(projectPath);
|
|
220
|
+
if (cacheResult.success) {
|
|
221
|
+
logger.success(t("commands.init.cacheRegistered"));
|
|
222
|
+
result.cache_registered = true;
|
|
223
|
+
}
|
|
224
|
+
else {
|
|
225
|
+
logger.warn(t("commands.init.cacheFailed", { message: cacheResult.message ?? "" }));
|
|
226
|
+
}
|
|
227
|
+
}
|
|
228
|
+
// Hooks プラグイン: 言語に関わらず常に登録
|
|
229
|
+
if (hasHooksPlugin()) {
|
|
230
|
+
const hooksCacheResult = registerPluginCache(projectPath, { registryId: PLUGIN_REGISTRY_ID_HOOKS });
|
|
231
|
+
if (hooksCacheResult.success) {
|
|
232
|
+
logger.success(t("commands.init.hooksCacheRegistered"));
|
|
233
|
+
}
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
else {
|
|
237
|
+
logger.warn("Marketplace registration failed");
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
else if (isExternal) {
|
|
241
|
+
logger.warn("\n" + t("commands.init.claudeNotFound"));
|
|
242
|
+
logger.info(t("commands.init.claudeInstallHint"));
|
|
243
|
+
}
|
|
244
|
+
result.plugin_installed = true;
|
|
245
|
+
result.skills_installed = getInstalledSkills(projectPath);
|
|
246
|
+
result.rules_installed = getInstalledRules(projectPath);
|
|
247
|
+
// Deploy rules to .claude/rules/shirokuma/ (#254: 言語設定に基づき単一ディレクトリに統一)
|
|
248
|
+
logger.info("\n" + t("commands.init.deployingRules"));
|
|
249
|
+
const useJaRules = effectiveLang === "japanese" && hasJaPlugin();
|
|
250
|
+
let deployedNames;
|
|
251
|
+
if (useJaRules) {
|
|
252
|
+
// 日本語ルールをデプロイ(キャッシュ → bundled フォールバック)
|
|
253
|
+
const jaRulesSource = (isExternal ? getGlobalCachePath(PLUGIN_NAME_JA) : null)
|
|
254
|
+
?? getBundledPluginPathJa();
|
|
255
|
+
const deployResult = await deployRules(projectPath, {
|
|
256
|
+
verbose: options.verbose ?? false,
|
|
257
|
+
bundledPluginPath: jaRulesSource,
|
|
258
|
+
});
|
|
259
|
+
deployedNames = deployResult.deployed
|
|
260
|
+
.filter(r => r.status === "deployed" || r.status === "updated" || r.status === "unchanged")
|
|
261
|
+
.map(r => r.name);
|
|
262
|
+
result.rules_deployed = deployedNames.length;
|
|
263
|
+
}
|
|
264
|
+
else {
|
|
265
|
+
// 英語ルールをデプロイ(キャッシュ → bundled フォールバック)
|
|
266
|
+
const enRulesSource = (isExternal ? getGlobalCachePath(PLUGIN_NAME) : null)
|
|
267
|
+
?? getBundledPluginPath();
|
|
268
|
+
const deployResult = await deployRules(projectPath, {
|
|
269
|
+
verbose: options.verbose ?? false,
|
|
270
|
+
bundledPluginPath: enRulesSource,
|
|
271
|
+
});
|
|
272
|
+
deployedNames = deployResult.deployed
|
|
273
|
+
.filter(r => r.status === "deployed" || r.status === "updated" || r.status === "unchanged")
|
|
274
|
+
.map(r => r.name);
|
|
275
|
+
result.rules_deployed = deployedNames.length;
|
|
276
|
+
}
|
|
277
|
+
// レガシー shirokuma-ja/ ディレクトリを削除 (#254)
|
|
278
|
+
const legacyJaDir = resolve(projectPath, DEPLOYED_RULES_DIR_JA);
|
|
279
|
+
if (existsSync(legacyJaDir)) {
|
|
280
|
+
rmSync(legacyJaDir, { recursive: true, force: true });
|
|
281
|
+
}
|
|
282
|
+
// レガシー .claude/plugins/ ディレクトリを削除(#486: マイグレーション)
|
|
283
|
+
if (isExternal) {
|
|
284
|
+
cleanupLegacyPluginDir(projectPath);
|
|
285
|
+
}
|
|
286
|
+
}
|
|
287
|
+
catch (error) {
|
|
288
|
+
if (error instanceof InitError) {
|
|
289
|
+
logger.error(error.message);
|
|
290
|
+
throw error;
|
|
291
|
+
}
|
|
292
|
+
const message = t("errors.errorOccurred", {
|
|
293
|
+
error: error instanceof Error ? error.message : String(error),
|
|
294
|
+
});
|
|
295
|
+
logger.error(message);
|
|
296
|
+
throw new InitError(message, error);
|
|
297
|
+
}
|
|
298
|
+
}
|
|
299
|
+
// Write language to .claude/settings.json
|
|
300
|
+
if (options.lang) {
|
|
301
|
+
const settingsPath = resolve(projectPath, ".claude", "settings.json");
|
|
302
|
+
const settingsDir = dirname(settingsPath);
|
|
303
|
+
try {
|
|
304
|
+
mkdirSync(settingsDir, { recursive: true });
|
|
305
|
+
// 既存の settings.json があればマージ、なければ新規作成
|
|
306
|
+
let settings = {};
|
|
307
|
+
if (existsSync(settingsPath)) {
|
|
308
|
+
try {
|
|
309
|
+
const raw = readFileSync(settingsPath, "utf-8");
|
|
310
|
+
const parsed = JSON.parse(raw);
|
|
311
|
+
if (parsed && typeof parsed === "object" && !Array.isArray(parsed)) {
|
|
312
|
+
settings = parsed;
|
|
313
|
+
}
|
|
314
|
+
else {
|
|
315
|
+
logger.warn(`${settingsPath} is not a JSON object, overwriting`);
|
|
316
|
+
}
|
|
317
|
+
}
|
|
318
|
+
catch {
|
|
319
|
+
logger.warn(`${settingsPath} contains invalid JSON, overwriting`);
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
settings.language = LANG_MAP[options.lang];
|
|
323
|
+
writeFileSync(settingsPath, JSON.stringify(settings, null, 2) + "\n", "utf-8");
|
|
324
|
+
result.language_set = true;
|
|
325
|
+
logger.success(t("commands.init.languageSet", { lang: LANG_MAP[options.lang] }));
|
|
326
|
+
}
|
|
327
|
+
catch (error) {
|
|
328
|
+
logger.warn(`Failed to write ${settingsPath}: ${error instanceof Error ? error.message : String(error)}`);
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
// Update .gitignore (unless --no-gitignore)
|
|
332
|
+
if (options.gitignore !== false) {
|
|
333
|
+
logger.info("\n" + t("commands.init.updatingGitignore"));
|
|
334
|
+
const gitignoreResult = updateGitignore(projectPath, {
|
|
335
|
+
verbose: options.verbose,
|
|
336
|
+
});
|
|
337
|
+
if (gitignoreResult.added.length > 0) {
|
|
338
|
+
result.gitignore_updated = true;
|
|
339
|
+
result.gitignore_entries_added = gitignoreResult.added.length;
|
|
340
|
+
logger.success(t("commands.init.gitignoreUpdated", {
|
|
341
|
+
count: gitignoreResult.added.length,
|
|
342
|
+
}));
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
// Summary
|
|
346
|
+
logger.info("\n" + t("commands.init.setupComplete"));
|
|
347
|
+
if (result.config_created) {
|
|
348
|
+
logger.info(t("commands.init.summaryConfig"));
|
|
349
|
+
}
|
|
350
|
+
if (result.plugin_installed) {
|
|
351
|
+
logger.info(t("commands.init.summaryPlugin", {
|
|
352
|
+
skillCount: result.skills_installed.length,
|
|
353
|
+
ruleCount: result.rules_installed.length,
|
|
354
|
+
}));
|
|
355
|
+
if (result.rules_deployed > 0) {
|
|
356
|
+
logger.info(t("commands.init.summaryRules", {
|
|
357
|
+
count: result.rules_deployed,
|
|
358
|
+
dir: DEPLOYED_RULES_DIR,
|
|
359
|
+
}));
|
|
360
|
+
}
|
|
361
|
+
if (result.cache_registered) {
|
|
362
|
+
logger.info(t("commands.init.summaryCache"));
|
|
363
|
+
}
|
|
364
|
+
}
|
|
365
|
+
if (result.language_set) {
|
|
366
|
+
logger.info(t("commands.init.summaryLanguage", { lang: LANG_MAP[options.lang] }));
|
|
367
|
+
}
|
|
368
|
+
if (result.gitignore_updated) {
|
|
369
|
+
logger.info(t("commands.init.summaryGitignore", { count: result.gitignore_entries_added }));
|
|
370
|
+
}
|
|
371
|
+
if (options.verbose) {
|
|
372
|
+
console.log(JSON.stringify(result, null, 2));
|
|
373
|
+
}
|
|
374
|
+
// Next steps guidance (external projects only)
|
|
375
|
+
if (result.plugin_installed && !isSelfRepo(projectPath)) {
|
|
376
|
+
const claudeCliFound = isClaudeCliAvailable();
|
|
377
|
+
printNextSteps(logger, result.cache_registered, claudeCliFound);
|
|
378
|
+
}
|
|
379
|
+
else {
|
|
380
|
+
logger.info("\n" + t("commands.init.editConfigHint"));
|
|
381
|
+
logger.info(t("commands.init.editConfigCmd"));
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
/**
|
|
385
|
+
* Print next-steps guidance for external projects after plugin installation
|
|
386
|
+
*
|
|
387
|
+
* @param logger - Logger instance
|
|
388
|
+
* @param cacheRegistered - Whether cache registration succeeded (skip manual step if true)
|
|
389
|
+
* @param claudeCliFound - Whether claude CLI was found in PATH
|
|
390
|
+
*/
|
|
391
|
+
function printNextSteps(logger, cacheRegistered, claudeCliFound) {
|
|
392
|
+
logger.info("\n" + t("commands.init.nextSteps") + "\n");
|
|
393
|
+
let step = 1;
|
|
394
|
+
if (!cacheRegistered) {
|
|
395
|
+
if (!claudeCliFound) {
|
|
396
|
+
logger.info(t("commands.init.stepInstallClaude", { step }));
|
|
397
|
+
logger.info(t("commands.init.stepInstallClaudeUrl") + "\n");
|
|
398
|
+
step++;
|
|
399
|
+
logger.info(t("commands.init.stepRegisterCache", { step }));
|
|
400
|
+
}
|
|
401
|
+
else {
|
|
402
|
+
logger.info(t("commands.init.stepRegisterCacheFallback", { step }));
|
|
403
|
+
}
|
|
404
|
+
logger.info(t("commands.init.stepRegisterCacheCmd") + "\n");
|
|
405
|
+
step++;
|
|
406
|
+
}
|
|
407
|
+
logger.info(t("commands.init.stepEditConfig", { step }));
|
|
408
|
+
logger.info(t("commands.init.stepEditConfigFile") + "\n");
|
|
409
|
+
step++;
|
|
410
|
+
logger.info(t("commands.init.stepGenerate", { step }));
|
|
411
|
+
logger.info(t("commands.init.stepGenerateCmd") + "\n");
|
|
412
|
+
step++;
|
|
413
|
+
logger.info(t("commands.init.stepManualSetup", { step }));
|
|
414
|
+
logger.info(t("commands.init.stepManualSetupCategories"));
|
|
415
|
+
logger.info(t("commands.init.stepManualSetupWorkflows"));
|
|
416
|
+
logger.info(t("commands.init.stepManualSetupVerify") + "\n");
|
|
417
|
+
logger.info(t("commands.init.skillsHeader") + "\n");
|
|
418
|
+
logger.info(t("commands.init.skillWorkingOnIssue"));
|
|
419
|
+
logger.info(t("commands.init.skillStartingSession"));
|
|
420
|
+
logger.info(t("commands.init.skillCommitting"));
|
|
421
|
+
logger.info(t("commands.init.skillCreatingPr") + "\n");
|
|
422
|
+
logger.info(t("commands.init.skillUpdate"));
|
|
423
|
+
if (cacheRegistered) {
|
|
424
|
+
logger.info(t("commands.init.skillUpdateNote"));
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
// Export error class
|
|
428
|
+
export { InitError };
|
|
429
|
+
//# sourceMappingURL=init.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* issues PR subcommands - Pull Request operations
|
|
3
|
+
*
|
|
4
|
+
* Provides PR-related functionality for the issues command:
|
|
5
|
+
* - pr-comments: Fetch PR review comments and threads
|
|
6
|
+
* - merge: Merge a PR with configurable method
|
|
7
|
+
* - pr-reply: Reply to a review comment
|
|
8
|
+
* - resolve: Resolve a review thread
|
|
9
|
+
* - fetchOpenPRs: Shared helper for session start
|
|
10
|
+
*
|
|
11
|
+
* Design:
|
|
12
|
+
* - GraphQL for queries (more efficient nested data)
|
|
13
|
+
* - REST API for reply (simpler than GraphQL which requires pullRequestReviewId)
|
|
14
|
+
* - gh pr merge CLI for merge (handles edge cases reliably)
|
|
15
|
+
*/
|
|
16
|
+
import { Logger } from "../utils/logger.js";
|
|
17
|
+
import { OutputFormat } from "../utils/formatters.js";
|
|
18
|
+
export interface IssuesPrOptions {
|
|
19
|
+
owner?: string;
|
|
20
|
+
verbose?: boolean;
|
|
21
|
+
format?: OutputFormat;
|
|
22
|
+
squash?: boolean;
|
|
23
|
+
merge?: boolean;
|
|
24
|
+
rebase?: boolean;
|
|
25
|
+
deleteBranch?: boolean;
|
|
26
|
+
head?: string;
|
|
27
|
+
replyTo?: string;
|
|
28
|
+
threadId?: string;
|
|
29
|
+
body?: string;
|
|
30
|
+
public?: boolean;
|
|
31
|
+
repo?: string;
|
|
32
|
+
}
|
|
33
|
+
export interface PrSummary {
|
|
34
|
+
number: number;
|
|
35
|
+
title: string;
|
|
36
|
+
url: string;
|
|
37
|
+
reviewDecision: string | null;
|
|
38
|
+
reviewThreadCount: number;
|
|
39
|
+
reviewCount: number;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Validate that at most one merge method is specified.
|
|
43
|
+
* Returns error message or null if valid.
|
|
44
|
+
*/
|
|
45
|
+
export declare function validateMergeMethod(options: {
|
|
46
|
+
squash?: boolean;
|
|
47
|
+
merge?: boolean;
|
|
48
|
+
rebase?: boolean;
|
|
49
|
+
}): string | null;
|
|
50
|
+
/**
|
|
51
|
+
* Determine the merge method from options. Defaults to "squash".
|
|
52
|
+
*/
|
|
53
|
+
export declare function parseMergeMethod(options: {
|
|
54
|
+
squash?: boolean;
|
|
55
|
+
merge?: boolean;
|
|
56
|
+
rebase?: boolean;
|
|
57
|
+
}): "squash" | "merge" | "rebase";
|
|
58
|
+
/**
|
|
59
|
+
* Parse linked issue numbers from PR body text.
|
|
60
|
+
* Looks for patterns: Closes #N, Fixes #N, Resolves #N (case-insensitive).
|
|
61
|
+
* Returns deduplicated array of issue numbers.
|
|
62
|
+
*/
|
|
63
|
+
export declare function parseLinkedIssues(body: string | undefined | null): number[];
|
|
64
|
+
export declare function cmdPrComments(prNumberStr: string, options: IssuesPrOptions, logger: Logger): Promise<number>;
|
|
65
|
+
export declare function cmdMerge(prNumberStr: string | undefined, options: IssuesPrOptions, logger: Logger): Promise<number>;
|
|
66
|
+
export declare function cmdPrReply(prNumberStr: string, options: IssuesPrOptions, logger: Logger): Promise<number>;
|
|
67
|
+
export declare function cmdResolve(prNumberStr: string, options: IssuesPrOptions, logger: Logger): Promise<number>;
|
|
68
|
+
/**
|
|
69
|
+
* ブランチ名からオープンPRの番号を解決する。
|
|
70
|
+
* 見つからない場合は null を返す。
|
|
71
|
+
*/
|
|
72
|
+
export declare function resolvePrFromHead(headBranch: string, owner: string, repo: string, logger: Logger): number | null;
|
|
73
|
+
export declare function fetchOpenPRs(owner: string, repo: string, limit?: number): PrSummary[];
|
|
74
|
+
//# sourceMappingURL=issues-pr.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"issues-pr.d.ts","sourceRoot":"","sources":["../../src/commands/issues-pr.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAS5C,OAAO,EAAE,YAAY,EAAgB,MAAM,wBAAwB,CAAC;AAcpE,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,YAAY,CAAC;IAEtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;CACrB;AAMD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE;IAC3C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,GAAG,MAAM,GAAG,IAAI,CAMhB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE;IACxC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,GAAG,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAIhC;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,GAAG,MAAM,EAAE,CAY3E;AAyED,wBAAsB,aAAa,CACjC,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC,CAqHjB;AAMD,wBAAsB,QAAQ,CAC5B,WAAW,EAAE,MAAM,GAAG,SAAS,EAC/B,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC,CAsGjB;AAMD,wBAAsB,UAAU,CAC9B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC,CAmEjB;AAMD,wBAAsB,UAAU,CAC9B,WAAW,EAAE,MAAM,EACnB,OAAO,EAAE,eAAe,EACxB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,CAAC,CAoDjB;AAMD;;;GAGG;AACH,wBAAgB,iBAAiB,CAC/B,UAAU,EAAE,MAAM,EAClB,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,MAAM,GACb,MAAM,GAAG,IAAI,CAwBf;AAMD,wBAAgB,YAAY,CAC1B,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,EACZ,KAAK,GAAE,MAAW,GACjB,SAAS,EAAE,CAwCb"}
|