Compare commits

..

12 Commits

Author SHA1 Message Date
87c1ae53b3 1.1.21 2024-04-14 00:40:57 +02:00
774aea55ff fix(core): update 2024-04-14 00:40:57 +02:00
ee7038e0d7 1.1.20 2024-04-13 16:22:34 +02:00
7c3bae4c6e fix(core): update 2024-04-13 16:22:33 +02:00
69d59e02f8 1.1.19 2024-04-13 16:19:14 +02:00
b4b6797fdf fix(core): update 2024-04-13 16:19:14 +02:00
4bbb154c4f 1.1.18 2024-04-12 15:35:10 +02:00
eec33e29d3 fix(core): update 2024-04-12 15:35:09 +02:00
c33a7d37ee 1.1.17 2024-04-12 15:28:55 +02:00
084b321e6a fix(core): update 2024-04-12 15:28:55 +02:00
cf1cfbd647 1.1.16 2024-04-12 15:07:56 +02:00
489349e45a fix(core): update 2024-04-12 15:07:56 +02:00
11 changed files with 225 additions and 119 deletions

View File

@ -8,7 +8,24 @@
"shortDescription": "a tool for better documentation", "shortDescription": "a tool for better documentation",
"npmPackagename": "@git.zone/tsdoc", "npmPackagename": "@git.zone/tsdoc",
"license": "MIT", "license": "MIT",
"projectDomain": "git.zone" "projectDomain": "git.zone",
"description": "An advanced TypeScript documentation tool leveraging AI for enhanced insights and automated documentation generation, with capabilities for automated and enhanced documentation creation tailor-made for TypeScript projects.",
"keywords": [
"TypeScript",
"documentation",
"AI-enhanced documentation",
"automated documentation generation",
"code analysis",
"development tool",
"CLI utility",
"API documentation",
"developer productivity",
"code insights",
"integrated development environment tooling",
"code quality enhancement",
"project documentation",
"documentation automation"
]
} }
}, },
"npmci": { "npmci": {
@ -17,6 +34,5 @@
}, },
"tsdoc": { "tsdoc": {
"legal": "\n## License and Legal Information\n\nThis repository contains open-source code that is licensed under the MIT License. A copy of the MIT License can be found in the [license](license) file within this repository. \n\n**Please note:** The MIT License does not grant permission to use the trade names, trademarks, service marks, or product names of the project, except as required for reasonable and customary use in describing the origin of the work and reproducing the content of the NOTICE file.\n\n### Trademarks\n\nThis project is owned and maintained by Task Venture Capital GmbH. The names and logos associated with Task Venture Capital GmbH and any related products or services are trademarks of Task Venture Capital GmbH and are not included within the scope of the MIT license granted herein. Use of these trademarks must comply with Task Venture Capital GmbH's Trademark Guidelines, and any usage must be approved in writing by Task Venture Capital GmbH.\n\n### Company Information\n\nTask Venture Capital GmbH \nRegistered at District court Bremen HRB 35230 HB, Germany\n\nFor any legal inquiries or if you require further information, please contact us via email at hello@task.vc.\n\nBy using this repository, you acknowledge that you have read this section, agree to comply with its terms, and understand that the licensing of the code does not imply endorsement by Task Venture Capital GmbH of any derivative works.\n" "legal": "\n## License and Legal Information\n\nThis repository contains open-source code that is licensed under the MIT License. A copy of the MIT License can be found in the [license](license) file within this repository. \n\n**Please note:** The MIT License does not grant permission to use the trade names, trademarks, service marks, or product names of the project, except as required for reasonable and customary use in describing the origin of the work and reproducing the content of the NOTICE file.\n\n### Trademarks\n\nThis project is owned and maintained by Task Venture Capital GmbH. The names and logos associated with Task Venture Capital GmbH and any related products or services are trademarks of Task Venture Capital GmbH and are not included within the scope of the MIT license granted herein. Use of these trademarks must comply with Task Venture Capital GmbH's Trademark Guidelines, and any usage must be approved in writing by Task Venture Capital GmbH.\n\n### Company Information\n\nTask Venture Capital GmbH \nRegistered at District court Bremen HRB 35230 HB, Germany\n\nFor any legal inquiries or if you require further information, please contact us via email at hello@task.vc.\n\nBy using this repository, you acknowledge that you have read this section, agree to comply with its terms, and understand that the licensing of the code does not imply endorsement by Task Venture Capital GmbH of any derivative works.\n"
} }
} }

View File

@ -1,8 +1,8 @@
{ {
"name": "@git.zone/tsdoc", "name": "@git.zone/tsdoc",
"version": "1.1.15", "version": "1.1.21",
"private": false, "private": false,
"description": "a tool for better documentation", "description": "An advanced TypeScript documentation tool leveraging AI for enhanced insights and automated documentation generation, with capabilities for automated and enhanced documentation creation tailor-made for TypeScript projects.",
"main": "dist_ts/index.js", "main": "dist_ts/index.js",
"typings": "dist_ts/index.d.ts", "typings": "dist_ts/index.d.ts",
"type": "module", "type": "module",
@ -12,7 +12,8 @@
"tsdoc": "cli.js" "tsdoc": "cli.js"
}, },
"scripts": { "scripts": {
"test": "(tstest test/) && (node ./cli.ts.js)", "test": "(tstest test/) && npm run testCli",
"testCli": "(node ./cli.ts.js) && (node ./cli.ts.js aidocs)",
"build": "(tsbuild --web --allowimplicitany)" "build": "(tsbuild --web --allowimplicitany)"
}, },
"devDependencies": { "devDependencies": {
@ -20,7 +21,7 @@
"@git.zone/tsrun": "^1.2.46", "@git.zone/tsrun": "^1.2.46",
"@git.zone/tstest": "^1.0.73", "@git.zone/tstest": "^1.0.73",
"@push.rocks/tapbundle": "^5.0.4", "@push.rocks/tapbundle": "^5.0.4",
"@types/node": "^20.12.2" "@types/node": "^20.12.7"
}, },
"dependencies": { "dependencies": {
"@push.rocks/early": "^4.0.3", "@push.rocks/early": "^4.0.3",
@ -29,14 +30,14 @@
"@push.rocks/smartai": "^0.0.8", "@push.rocks/smartai": "^0.0.8",
"@push.rocks/smartcli": "^4.0.6", "@push.rocks/smartcli": "^4.0.6",
"@push.rocks/smartdelay": "^3.0.5", "@push.rocks/smartdelay": "^3.0.5",
"@push.rocks/smartfile": "^11.0.4", "@push.rocks/smartfile": "^11.0.13",
"@push.rocks/smartinteract": "^2.0.15", "@push.rocks/smartinteract": "^2.0.15",
"@push.rocks/smartlog": "^3.0.1", "@push.rocks/smartlog": "^3.0.1",
"@push.rocks/smartlog-destination-local": "^9.0.1", "@push.rocks/smartlog-destination-local": "^9.0.1",
"@push.rocks/smartpath": "^5.0.5", "@push.rocks/smartpath": "^5.0.13",
"@push.rocks/smartshell": "^3.0.4", "@push.rocks/smartshell": "^3.0.4",
"typedoc": "^0.25.12", "typedoc": "^0.25.13",
"typescript": "^5.4.3" "typescript": "^5.4.5"
}, },
"files": [ "files": [
"ts/**/*", "ts/**/*",
@ -52,5 +53,21 @@
], ],
"browserslist": [ "browserslist": [
"last 1 chrome versions" "last 1 chrome versions"
],
"keywords": [
"TypeScript",
"documentation",
"AI-enhanced documentation",
"automated documentation generation",
"code analysis",
"development tool",
"CLI utility",
"API documentation",
"developer productivity",
"code insights",
"integrated development environment tooling",
"code quality enhancement",
"project documentation",
"documentation automation"
] ]
} }

140
pnpm-lock.yaml generated
View File

@ -24,8 +24,8 @@ dependencies:
specifier: ^3.0.5 specifier: ^3.0.5
version: 3.0.5 version: 3.0.5
'@push.rocks/smartfile': '@push.rocks/smartfile':
specifier: ^11.0.4 specifier: ^11.0.13
version: 11.0.4 version: 11.0.13
'@push.rocks/smartinteract': '@push.rocks/smartinteract':
specifier: ^2.0.15 specifier: ^2.0.15
version: 2.0.15 version: 2.0.15
@ -36,17 +36,17 @@ dependencies:
specifier: ^9.0.1 specifier: ^9.0.1
version: 9.0.1 version: 9.0.1
'@push.rocks/smartpath': '@push.rocks/smartpath':
specifier: ^5.0.5 specifier: ^5.0.13
version: 5.0.11 version: 5.0.13
'@push.rocks/smartshell': '@push.rocks/smartshell':
specifier: ^3.0.4 specifier: ^3.0.4
version: 3.0.4 version: 3.0.4
typedoc: typedoc:
specifier: ^0.25.12 specifier: ^0.25.13
version: 0.25.12(typescript@5.4.3) version: 0.25.13(typescript@5.4.5)
typescript: typescript:
specifier: ^5.4.3 specifier: ^5.4.5
version: 5.4.3 version: 5.4.5
devDependencies: devDependencies:
'@git.zone/tsbuild': '@git.zone/tsbuild':
@ -54,16 +54,16 @@ devDependencies:
version: 2.1.72 version: 2.1.72
'@git.zone/tsrun': '@git.zone/tsrun':
specifier: ^1.2.46 specifier: ^1.2.46
version: 1.2.46(@types/node@20.12.2) version: 1.2.46(@types/node@20.12.7)
'@git.zone/tstest': '@git.zone/tstest':
specifier: ^1.0.73 specifier: ^1.0.73
version: 1.0.88(@types/node@20.12.2) version: 1.0.88(@types/node@20.12.7)
'@push.rocks/tapbundle': '@push.rocks/tapbundle':
specifier: ^5.0.4 specifier: ^5.0.4
version: 5.0.22 version: 5.0.22
'@types/node': '@types/node':
specifier: ^20.12.2 specifier: ^20.12.7
version: 20.12.2 version: 20.12.7
packages: packages:
@ -93,14 +93,14 @@ packages:
'@push.rocks/smartdelay': 3.0.5 '@push.rocks/smartdelay': 3.0.5
'@push.rocks/smartenv': 5.0.12 '@push.rocks/smartenv': 5.0.12
'@push.rocks/smartfeed': 1.0.11 '@push.rocks/smartfeed': 1.0.11
'@push.rocks/smartfile': 11.0.4 '@push.rocks/smartfile': 11.0.13
'@push.rocks/smartjson': 5.0.16 '@push.rocks/smartjson': 5.0.16
'@push.rocks/smartlog': 3.0.3 '@push.rocks/smartlog': 3.0.3
'@push.rocks/smartlog-destination-devtools': 1.0.10 '@push.rocks/smartlog-destination-devtools': 1.0.10
'@push.rocks/smartmanifest': 2.0.2 '@push.rocks/smartmanifest': 2.0.2
'@push.rocks/smartmime': 1.0.6 '@push.rocks/smartmime': 1.0.6
'@push.rocks/smartopen': 2.0.0 '@push.rocks/smartopen': 2.0.0
'@push.rocks/smartpath': 5.0.11 '@push.rocks/smartpath': 5.0.13
'@push.rocks/smartpromise': 4.0.3 '@push.rocks/smartpromise': 4.0.3
'@push.rocks/smartrequest': 2.0.21 '@push.rocks/smartrequest': 2.0.21
'@push.rocks/smartrx': 3.0.7 '@push.rocks/smartrx': 3.0.7
@ -401,9 +401,9 @@ packages:
'@push.rocks/early': 4.0.4 '@push.rocks/early': 4.0.4
'@push.rocks/smartcli': 4.0.8 '@push.rocks/smartcli': 4.0.8
'@push.rocks/smartdelay': 3.0.5 '@push.rocks/smartdelay': 3.0.5
'@push.rocks/smartfile': 11.0.4 '@push.rocks/smartfile': 11.0.13
'@push.rocks/smartlog': 3.0.3 '@push.rocks/smartlog': 3.0.3
'@push.rocks/smartpath': 5.0.11 '@push.rocks/smartpath': 5.0.13
'@push.rocks/smartpromise': 4.0.3 '@push.rocks/smartpromise': 4.0.3
typescript: 5.3.3 typescript: 5.3.3
dev: true dev: true
@ -415,10 +415,10 @@ packages:
'@push.rocks/early': 4.0.4 '@push.rocks/early': 4.0.4
'@push.rocks/smartcli': 4.0.8 '@push.rocks/smartcli': 4.0.8
'@push.rocks/smartdelay': 3.0.5 '@push.rocks/smartdelay': 3.0.5
'@push.rocks/smartfile': 11.0.4 '@push.rocks/smartfile': 11.0.13
'@push.rocks/smartlog': 3.0.3 '@push.rocks/smartlog': 3.0.3
'@push.rocks/smartlog-destination-local': 9.0.1 '@push.rocks/smartlog-destination-local': 9.0.1
'@push.rocks/smartpath': 5.0.11 '@push.rocks/smartpath': 5.0.13
'@push.rocks/smartpromise': 4.0.3 '@push.rocks/smartpromise': 4.0.3
'@push.rocks/smartspawn': 3.0.2 '@push.rocks/smartspawn': 3.0.2
'@types/html-minifier': 4.0.5 '@types/html-minifier': 4.0.5
@ -429,13 +429,13 @@ packages:
- supports-color - supports-color
dev: true dev: true
/@git.zone/tsrun@1.2.46(@types/node@20.12.2): /@git.zone/tsrun@1.2.46(@types/node@20.12.7):
resolution: {integrity: sha512-8miFVBle9Mnjx+uPGI/P+EuWcIOXWjBAkdjN5IYbdp5Ytt4xQODCLh4JSnC9h56UeU1nUxCAxZeJs2e9TXrivA==} resolution: {integrity: sha512-8miFVBle9Mnjx+uPGI/P+EuWcIOXWjBAkdjN5IYbdp5Ytt4xQODCLh4JSnC9h56UeU1nUxCAxZeJs2e9TXrivA==}
hasBin: true hasBin: true
dependencies: dependencies:
'@push.rocks/smartfile': 10.0.41 '@push.rocks/smartfile': 10.0.41
'@push.rocks/smartshell': 3.0.4 '@push.rocks/smartshell': 3.0.4
ts-node: 10.9.2(@types/node@20.12.2)(typescript@5.1.6) ts-node: 10.9.2(@types/node@20.12.7)(typescript@5.1.6)
typescript: 5.1.6 typescript: 5.1.6
transitivePeerDependencies: transitivePeerDependencies:
- '@swc/core' - '@swc/core'
@ -443,17 +443,17 @@ packages:
- '@types/node' - '@types/node'
dev: true dev: true
/@git.zone/tstest@1.0.88(@types/node@20.12.2): /@git.zone/tstest@1.0.88(@types/node@20.12.7):
resolution: {integrity: sha512-yTBKLI48Nz35qHOJ9ZnXY06VvBAhcC3NEZ4YyGDN4CmrZQ6MVK3fIMQUQCFVmba0GzSmvbgbJcZnd6IRezkyzQ==} resolution: {integrity: sha512-yTBKLI48Nz35qHOJ9ZnXY06VvBAhcC3NEZ4YyGDN4CmrZQ6MVK3fIMQUQCFVmba0GzSmvbgbJcZnd6IRezkyzQ==}
hasBin: true hasBin: true
dependencies: dependencies:
'@api.global/typedserver': 3.0.27 '@api.global/typedserver': 3.0.27
'@git.zone/tsbundle': 2.0.15 '@git.zone/tsbundle': 2.0.15
'@git.zone/tsrun': 1.2.46(@types/node@20.12.2) '@git.zone/tsrun': 1.2.46(@types/node@20.12.7)
'@push.rocks/consolecolor': 2.0.2 '@push.rocks/consolecolor': 2.0.2
'@push.rocks/smartbrowser': 2.0.6 '@push.rocks/smartbrowser': 2.0.6
'@push.rocks/smartdelay': 3.0.5 '@push.rocks/smartdelay': 3.0.5
'@push.rocks/smartfile': 11.0.4 '@push.rocks/smartfile': 11.0.13
'@push.rocks/smartlog': 3.0.3 '@push.rocks/smartlog': 3.0.3
'@push.rocks/smartpromise': 4.0.3 '@push.rocks/smartpromise': 4.0.3
'@push.rocks/smartshell': 3.0.4 '@push.rocks/smartshell': 3.0.4
@ -628,10 +628,10 @@ packages:
resolution: {integrity: sha512-qkyIwlKW9jEqBTCkoo4IuaF5et7QTRZhAPjotQF8E71MRwYBH+QUvj5JwQMBy4ZhpWf+3/3X47aib3JAhzJFbQ==} resolution: {integrity: sha512-qkyIwlKW9jEqBTCkoo4IuaF5et7QTRZhAPjotQF8E71MRwYBH+QUvj5JwQMBy4ZhpWf+3/3X47aib3JAhzJFbQ==}
dependencies: dependencies:
'@push.rocks/qenv': 6.0.5 '@push.rocks/qenv': 6.0.5
'@push.rocks/smartfile': 11.0.4 '@push.rocks/smartfile': 11.0.13
'@push.rocks/smartjson': 5.0.16 '@push.rocks/smartjson': 5.0.16
'@push.rocks/smartlog': 3.0.3 '@push.rocks/smartlog': 3.0.3
'@push.rocks/smartpath': 5.0.11 '@push.rocks/smartpath': 5.0.13
'@push.rocks/smartpromise': 4.0.3 '@push.rocks/smartpromise': 4.0.3
'@push.rocks/smartrx': 3.0.7 '@push.rocks/smartrx': 3.0.7
'@push.rocks/taskbuffer': 3.1.7 '@push.rocks/taskbuffer': 3.1.7
@ -642,17 +642,17 @@ packages:
dependencies: dependencies:
'@api.global/typedrequest': 3.0.19 '@api.global/typedrequest': 3.0.19
'@configvault.io/interfaces': 1.0.17 '@configvault.io/interfaces': 1.0.17
'@push.rocks/smartfile': 11.0.4 '@push.rocks/smartfile': 11.0.13
'@push.rocks/smartlog': 3.0.3 '@push.rocks/smartlog': 3.0.3
'@push.rocks/smartpath': 5.0.11 '@push.rocks/smartpath': 5.0.13
dev: false dev: false
/@push.rocks/smartai@0.0.8: /@push.rocks/smartai@0.0.8:
resolution: {integrity: sha512-OvNXUv9m+qMdzYvReYzDm7hdBCisB3vb+AiLCGkxmLseh/VVe7hcC/5OrPMncstinm1SDl6mL7wDyoh43u8K1w==} resolution: {integrity: sha512-OvNXUv9m+qMdzYvReYzDm7hdBCisB3vb+AiLCGkxmLseh/VVe7hcC/5OrPMncstinm1SDl6mL7wDyoh43u8K1w==}
dependencies: dependencies:
'@push.rocks/qenv': 6.0.5 '@push.rocks/qenv': 6.0.5
'@push.rocks/smartfile': 11.0.4 '@push.rocks/smartfile': 11.0.13
'@push.rocks/smartpath': 5.0.11 '@push.rocks/smartpath': 5.0.13
'@push.rocks/smartpromise': 4.0.3 '@push.rocks/smartpromise': 4.0.3
openai: 4.31.0 openai: 4.31.0
transitivePeerDependencies: transitivePeerDependencies:
@ -749,7 +749,7 @@ packages:
'@push.rocks/smarthash': 3.0.4 '@push.rocks/smarthash': 3.0.4
'@push.rocks/smartjson': 5.0.16 '@push.rocks/smartjson': 5.0.16
'@push.rocks/smartmime': 1.0.6 '@push.rocks/smartmime': 1.0.6
'@push.rocks/smartpath': 5.0.11 '@push.rocks/smartpath': 5.0.13
'@push.rocks/smartpromise': 4.0.3 '@push.rocks/smartpromise': 4.0.3
'@push.rocks/smartrequest': 2.0.21 '@push.rocks/smartrequest': 2.0.21
'@push.rocks/smartstream': 2.0.8 '@push.rocks/smartstream': 2.0.8
@ -761,8 +761,8 @@ packages:
js-yaml: 4.1.0 js-yaml: 4.1.0
dev: true dev: true
/@push.rocks/smartfile@11.0.4: /@push.rocks/smartfile@11.0.13:
resolution: {integrity: sha512-NXAyqYE5zNUJ9Mu/t2oWUKu21CRUI4Dvlm56rKBSczCq5xeC7EwmamTzL3Nyn6Tmu1jBpYktYL4zIx17JJOB7w==} resolution: {integrity: sha512-vB017WrxusnXQTi0xiTqEP4ghW4GiLXmsLEMRP4OfQhEssYiH6HxO2t0hgxh1Lfv83R/77AttJguZSbb6ylGRQ==}
dependencies: dependencies:
'@push.rocks/lik': 6.0.14 '@push.rocks/lik': 6.0.14
'@push.rocks/smartdelay': 3.0.5 '@push.rocks/smartdelay': 3.0.5
@ -770,7 +770,7 @@ packages:
'@push.rocks/smarthash': 3.0.4 '@push.rocks/smarthash': 3.0.4
'@push.rocks/smartjson': 5.0.16 '@push.rocks/smartjson': 5.0.16
'@push.rocks/smartmime': 1.0.6 '@push.rocks/smartmime': 1.0.6
'@push.rocks/smartpath': 5.0.11 '@push.rocks/smartpath': 5.0.13
'@push.rocks/smartpromise': 4.0.3 '@push.rocks/smartpromise': 4.0.3
'@push.rocks/smartrequest': 2.0.21 '@push.rocks/smartrequest': 2.0.21
'@push.rocks/smartstream': 3.0.34 '@push.rocks/smartstream': 3.0.34
@ -879,8 +879,8 @@ packages:
'@push.rocks/smartpromise': 4.0.3 '@push.rocks/smartpromise': 4.0.3
minimatch: 9.0.4 minimatch: 9.0.4
/@push.rocks/smartpath@5.0.11: /@push.rocks/smartpath@5.0.13:
resolution: {integrity: sha512-dqdd7KTby0AdaWYC9gVoHDTUIixFhEvo+mmdaTdNshZsfHNkm/EDV25dA+9gJ8/yoyuCYmrwmByNYy9a+xFUeQ==} resolution: {integrity: sha512-MTcZ2kVQDtyNSmcyadIMcSsGeTX2EcNvw2HFHRWNmMq/CHpEM8rluad11zJm5ULTydsAl176rEwESzn4YD5e8A==}
/@push.rocks/smartpdf@3.0.17: /@push.rocks/smartpdf@3.0.17:
resolution: {integrity: sha512-oymxajeDnwMzg20Ru7GkpYHM4KtNyTrvxt+AwXD3EjzOaJnFtevszDpCdcCruBik8BcG2XiKJIyY5PprPALvaA==} resolution: {integrity: sha512-oymxajeDnwMzg20Ru7GkpYHM4KtNyTrvxt+AwXD3EjzOaJnFtevszDpCdcCruBik8BcG2XiKJIyY5PprPALvaA==}
@ -888,7 +888,7 @@ packages:
'@push.rocks/smartdelay': 3.0.5 '@push.rocks/smartdelay': 3.0.5
'@push.rocks/smartfile': 10.0.41 '@push.rocks/smartfile': 10.0.41
'@push.rocks/smartnetwork': 3.0.2 '@push.rocks/smartnetwork': 3.0.2
'@push.rocks/smartpath': 5.0.11 '@push.rocks/smartpath': 5.0.13
'@push.rocks/smartpromise': 4.0.3 '@push.rocks/smartpromise': 4.0.3
'@push.rocks/smartpuppeteer': 2.0.2 '@push.rocks/smartpuppeteer': 2.0.2
'@push.rocks/smartunique': 3.0.8 '@push.rocks/smartunique': 3.0.8
@ -1385,7 +1385,7 @@ packages:
/@types/accepts@1.3.7: /@types/accepts@1.3.7:
resolution: {integrity: sha512-Pay9fq2lM2wXPWbteBsRAGiWH2hig4ZE2asK+mm7kUzlxRTfL961rj89I6zV/E3PcIkDqyuBEcMxFT7rccugeQ==} resolution: {integrity: sha512-Pay9fq2lM2wXPWbteBsRAGiWH2hig4ZE2asK+mm7kUzlxRTfL961rj89I6zV/E3PcIkDqyuBEcMxFT7rccugeQ==}
dependencies: dependencies:
'@types/node': 20.12.2 '@types/node': 20.12.7
dev: true dev: true
/@types/babel__code-frame@7.0.6: /@types/babel__code-frame@7.0.6:
@ -1396,7 +1396,7 @@ packages:
resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==} resolution: {integrity: sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==}
dependencies: dependencies:
'@types/connect': 3.4.38 '@types/connect': 3.4.38
'@types/node': 20.12.2 '@types/node': 20.12.7
dev: true dev: true
/@types/buffer-json@2.0.3: /@types/buffer-json@2.0.3:
@ -1416,21 +1416,21 @@ packages:
/@types/clean-css@4.2.11: /@types/clean-css@4.2.11:
resolution: {integrity: sha512-Y8n81lQVTAfP2TOdtJJEsCoYl1AnOkqDqMvXb9/7pfgZZ7r8YrEyurrAvAoAjHOGXKRybay+5CsExqIH6liccw==} resolution: {integrity: sha512-Y8n81lQVTAfP2TOdtJJEsCoYl1AnOkqDqMvXb9/7pfgZZ7r8YrEyurrAvAoAjHOGXKRybay+5CsExqIH6liccw==}
dependencies: dependencies:
'@types/node': 20.12.2 '@types/node': 20.12.7
source-map: 0.6.1 source-map: 0.6.1
dev: true dev: true
/@types/co-body@6.1.3: /@types/co-body@6.1.3:
resolution: {integrity: sha512-UhuhrQ5hclX6UJctv5m4Rfp52AfG9o9+d9/HwjxhVB5NjXxr5t9oKgJxN8xRHgr35oo8meUEHUPFWiKg6y71aA==} resolution: {integrity: sha512-UhuhrQ5hclX6UJctv5m4Rfp52AfG9o9+d9/HwjxhVB5NjXxr5t9oKgJxN8xRHgr35oo8meUEHUPFWiKg6y71aA==}
dependencies: dependencies:
'@types/node': 20.12.2 '@types/node': 20.12.7
'@types/qs': 6.9.14 '@types/qs': 6.9.14
dev: true dev: true
/@types/connect@3.4.38: /@types/connect@3.4.38:
resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==} resolution: {integrity: sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==}
dependencies: dependencies:
'@types/node': 20.12.2 '@types/node': 20.12.7
dev: true dev: true
/@types/content-disposition@0.5.8: /@types/content-disposition@0.5.8:
@ -1451,13 +1451,13 @@ packages:
'@types/connect': 3.4.38 '@types/connect': 3.4.38
'@types/express': 4.17.21 '@types/express': 4.17.21
'@types/keygrip': 1.0.6 '@types/keygrip': 1.0.6
'@types/node': 20.12.2 '@types/node': 20.12.7
dev: true dev: true
/@types/cors@2.8.17: /@types/cors@2.8.17:
resolution: {integrity: sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==} resolution: {integrity: sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==}
dependencies: dependencies:
'@types/node': 20.12.2 '@types/node': 20.12.7
dev: true dev: true
/@types/debounce@1.2.4: /@types/debounce@1.2.4:
@ -1471,7 +1471,7 @@ packages:
/@types/express-serve-static-core@4.17.43: /@types/express-serve-static-core@4.17.43:
resolution: {integrity: sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==} resolution: {integrity: sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==}
dependencies: dependencies:
'@types/node': 20.12.2 '@types/node': 20.12.7
'@types/qs': 6.9.14 '@types/qs': 6.9.14
'@types/range-parser': 1.2.7 '@types/range-parser': 1.2.7
'@types/send': 0.17.4 '@types/send': 0.17.4
@ -1489,20 +1489,20 @@ packages:
/@types/from2@2.3.5: /@types/from2@2.3.5:
resolution: {integrity: sha512-giavnjf3kNlJnE+HpZA1CQ3UKHxgehzsTuIMGda8pGMbOiLYGVNADEskey44OZcADHm/HOoBany8IV+0x28XFw==} resolution: {integrity: sha512-giavnjf3kNlJnE+HpZA1CQ3UKHxgehzsTuIMGda8pGMbOiLYGVNADEskey44OZcADHm/HOoBany8IV+0x28XFw==}
dependencies: dependencies:
'@types/node': 20.12.2 '@types/node': 20.12.7
dev: true dev: true
/@types/fs-extra@11.0.4: /@types/fs-extra@11.0.4:
resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==} resolution: {integrity: sha512-yTbItCNreRooED33qjunPthRcSjERP1r4MqCZc7wv0u2sUkzTFp45tgUfS5+r7FrZPdmCCNflLhVSP/o+SemsQ==}
dependencies: dependencies:
'@types/jsonfile': 6.1.4 '@types/jsonfile': 6.1.4
'@types/node': 20.12.2 '@types/node': 20.12.7
/@types/glob@8.1.0: /@types/glob@8.1.0:
resolution: {integrity: sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w==} resolution: {integrity: sha512-IO+MJPVhoqz+28h1qLAcBEH2+xHMK6MTyHJc7MTnnYb6wsoLR29POVGJ7LycmVXIqyy/4/2ShP5sUwTXuOwb/w==}
dependencies: dependencies:
'@types/minimatch': 5.1.2 '@types/minimatch': 5.1.2
'@types/node': 20.12.2 '@types/node': 20.12.7
/@types/html-minifier@4.0.5: /@types/html-minifier@4.0.5:
resolution: {integrity: sha512-LfE7f7MFd+YUfZnlBz8W43P4NgSObWiqyKapANsWCj63Aqeqli8/9gVsGP4CwC8jPpTTYlTopKCk9rJSuht/ew==} resolution: {integrity: sha512-LfE7f7MFd+YUfZnlBz8W43P4NgSObWiqyKapANsWCj63Aqeqli8/9gVsGP4CwC8jPpTTYlTopKCk9rJSuht/ew==}
@ -1557,7 +1557,7 @@ packages:
/@types/jsonfile@6.1.4: /@types/jsonfile@6.1.4:
resolution: {integrity: sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==} resolution: {integrity: sha512-D5qGUYwjvnNNextdU59/+fI+spnwtTFmyQP0h+PfIOSkNfpU6AOICUOkm4i0OnSk+NyjdPJrxCDro0sJsWlRpQ==}
dependencies: dependencies:
'@types/node': 20.12.2 '@types/node': 20.12.7
/@types/keygrip@1.0.6: /@types/keygrip@1.0.6:
resolution: {integrity: sha512-lZuNAY9xeJt7Bx4t4dx0rYCDqGPW8RXhQZK1td7d4H6E9zYbLoOtjBvfwdTKpsyxQI/2jv+armjX/RW+ZNpXOQ==} resolution: {integrity: sha512-lZuNAY9xeJt7Bx4t4dx0rYCDqGPW8RXhQZK1td7d4H6E9zYbLoOtjBvfwdTKpsyxQI/2jv+armjX/RW+ZNpXOQ==}
@ -1579,7 +1579,7 @@ packages:
'@types/http-errors': 2.0.4 '@types/http-errors': 2.0.4
'@types/keygrip': 1.0.6 '@types/keygrip': 1.0.6
'@types/koa-compose': 3.2.8 '@types/koa-compose': 3.2.8
'@types/node': 20.12.2 '@types/node': 20.12.7
dev: true dev: true
/@types/mime-types@2.1.4: /@types/mime-types@2.1.4:
@ -1606,18 +1606,18 @@ packages:
/@types/node-fetch@2.6.11: /@types/node-fetch@2.6.11:
resolution: {integrity: sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==} resolution: {integrity: sha512-24xFj9R5+rfQJLRyM56qh+wnVSYhyXC2tkoBndtY0U+vubqNsYXGjufB2nn8Q6gt0LrARwL6UBtMCSVCwl4B1g==}
dependencies: dependencies:
'@types/node': 20.12.2 '@types/node': 20.12.7
form-data: 4.0.0 form-data: 4.0.0
dev: false dev: false
/@types/node@18.19.28: /@types/node@18.19.31:
resolution: {integrity: sha512-J5cOGD9n4x3YGgVuaND6khm5x07MMdAKkRyXnjVR6KFhLMNh2yONGiP7Z+4+tBOt5mK+GvDTiacTOVGGpqiecw==} resolution: {integrity: sha512-ArgCD39YpyyrtFKIqMDvjz79jto5fcI/SVUs2HwB+f0dAzq68yqOdyaSivLiLugSziTpNXLQrVb7RZFmdZzbhA==}
dependencies: dependencies:
undici-types: 5.26.5 undici-types: 5.26.5
dev: false dev: false
/@types/node@20.12.2: /@types/node@20.12.7:
resolution: {integrity: sha512-zQ0NYO87hyN6Xrclcqp7f8ZbXNbRfoGWNcMvHTPQp9UUrwI0mI7XBz+cu7/W6/VClYo2g63B0cjull/srU7LgQ==} resolution: {integrity: sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==}
dependencies: dependencies:
undici-types: 5.26.5 undici-types: 5.26.5
@ -1648,7 +1648,7 @@ packages:
resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==} resolution: {integrity: sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==}
dependencies: dependencies:
'@types/mime': 1.3.5 '@types/mime': 1.3.5
'@types/node': 20.12.2 '@types/node': 20.12.7
dev: true dev: true
/@types/serve-static@1.15.5: /@types/serve-static@1.15.5:
@ -1656,7 +1656,7 @@ packages:
dependencies: dependencies:
'@types/http-errors': 2.0.4 '@types/http-errors': 2.0.4
'@types/mime': 4.0.0 '@types/mime': 4.0.0
'@types/node': 20.12.2 '@types/node': 20.12.7
dev: true dev: true
/@types/sinon-chai@3.2.12: /@types/sinon-chai@3.2.12:
@ -1682,12 +1682,12 @@ packages:
/@types/through2@2.0.41: /@types/through2@2.0.41:
resolution: {integrity: sha512-ryQ0tidWkb1O1JuYvWKyMLYEtOWDqF5mHerJzKz/gQpoAaJq2l/dsMPBF0B5BNVT34rbARYJ5/tsZwLfUi2kwQ==} resolution: {integrity: sha512-ryQ0tidWkb1O1JuYvWKyMLYEtOWDqF5mHerJzKz/gQpoAaJq2l/dsMPBF0B5BNVT34rbARYJ5/tsZwLfUi2kwQ==}
dependencies: dependencies:
'@types/node': 20.12.2 '@types/node': 20.12.7
/@types/through@0.0.33: /@types/through@0.0.33:
resolution: {integrity: sha512-HsJ+z3QuETzP3cswwtzt2vEIiHBk/dCcHGhbmG5X3ecnwFD/lPrMpliGXxSCg03L9AhrdwA4Oz/qfspkDW+xGQ==} resolution: {integrity: sha512-HsJ+z3QuETzP3cswwtzt2vEIiHBk/dCcHGhbmG5X3ecnwFD/lPrMpliGXxSCg03L9AhrdwA4Oz/qfspkDW+xGQ==}
dependencies: dependencies:
'@types/node': 20.12.2 '@types/node': 20.12.7
dev: false dev: false
/@types/trusted-types@2.0.7: /@types/trusted-types@2.0.7:
@ -1713,20 +1713,20 @@ packages:
/@types/ws@7.4.7: /@types/ws@7.4.7:
resolution: {integrity: sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==} resolution: {integrity: sha512-JQbbmxZTZehdc2iszGKs5oC3NFnjeay7mtAWrdt7qNtAVK0g19muApzAy4bm9byz79xa2ZnO/BOBC2R8RC5Lww==}
dependencies: dependencies:
'@types/node': 20.12.2 '@types/node': 20.12.7
dev: true dev: true
/@types/ws@8.5.10: /@types/ws@8.5.10:
resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==} resolution: {integrity: sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==}
dependencies: dependencies:
'@types/node': 20.12.2 '@types/node': 20.12.7
dev: true dev: true
/@types/yauzl@2.10.3: /@types/yauzl@2.10.3:
resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==} resolution: {integrity: sha512-oJoftv0LSuaDZE3Le4DbKX+KS9G36NzOeSap90UIK0yMA/NhKJhqlSGtNDORNRaIbQfzjXDrQa0ytJ6mNRGz/Q==}
requiresBuild: true requiresBuild: true
dependencies: dependencies:
'@types/node': 20.12.2 '@types/node': 20.12.7
dev: true dev: true
optional: true optional: true
@ -2539,7 +2539,7 @@ packages:
dependencies: dependencies:
'@types/cookie': 0.4.1 '@types/cookie': 0.4.1
'@types/cors': 2.8.17 '@types/cors': 2.8.17
'@types/node': 20.12.2 '@types/node': 20.12.7
accepts: 1.3.8 accepts: 1.3.8
base64id: 2.0.0 base64id: 2.0.0
cookie: 0.4.2 cookie: 0.4.2
@ -3879,7 +3879,7 @@ packages:
resolution: {integrity: sha512-JebkRnRGEGLnJt3+bJ5B7au8nBeZvJjs9baVxDmUZ5+BgafAdy6KDxJGSuyaw/IA+ErqY3jmOH5cDC2mCDJF2w==} resolution: {integrity: sha512-JebkRnRGEGLnJt3+bJ5B7au8nBeZvJjs9baVxDmUZ5+BgafAdy6KDxJGSuyaw/IA+ErqY3jmOH5cDC2mCDJF2w==}
hasBin: true hasBin: true
dependencies: dependencies:
'@types/node': 18.19.28 '@types/node': 18.19.31
'@types/node-fetch': 2.6.11 '@types/node-fetch': 2.6.11
abort-controller: 3.0.0 abort-controller: 3.0.0
agentkeepalive: 4.5.0 agentkeepalive: 4.5.0
@ -4670,7 +4670,7 @@ packages:
resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==}
hasBin: true hasBin: true
/ts-node@10.9.2(@types/node@20.12.2)(typescript@5.1.6): /ts-node@10.9.2(@types/node@20.12.7)(typescript@5.1.6):
resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==} resolution: {integrity: sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==}
hasBin: true hasBin: true
peerDependencies: peerDependencies:
@ -4689,7 +4689,7 @@ packages:
'@tsconfig/node12': 1.0.11 '@tsconfig/node12': 1.0.11
'@tsconfig/node14': 1.0.3 '@tsconfig/node14': 1.0.3
'@tsconfig/node16': 1.0.4 '@tsconfig/node16': 1.0.4
'@types/node': 20.12.2 '@types/node': 20.12.7
acorn: 8.11.3 acorn: 8.11.3
acorn-walk: 8.3.2 acorn-walk: 8.3.2
arg: 4.1.3 arg: 4.1.3
@ -4730,8 +4730,8 @@ packages:
mime-types: 2.1.35 mime-types: 2.1.35
dev: true dev: true
/typedoc@0.25.12(typescript@5.4.3): /typedoc@0.25.13(typescript@5.4.5):
resolution: {integrity: sha512-F+qhkK2VoTweDXd1c42GS/By2DvI2uDF4/EpG424dTexSHdtCH52C6IcAvMA6jR3DzAWZjHpUOW+E02kyPNUNw==} resolution: {integrity: sha512-pQqiwiJ+Z4pigfOnnysObszLiU3mVLWAExSPf+Mu06G/qsc3wzbuM56SZQvONhHLncLUhYzOVkjFFpFfL5AzhQ==}
engines: {node: '>= 16'} engines: {node: '>= 16'}
hasBin: true hasBin: true
peerDependencies: peerDependencies:
@ -4741,7 +4741,7 @@ packages:
marked: 4.3.0 marked: 4.3.0
minimatch: 9.0.4 minimatch: 9.0.4
shiki: 0.14.7 shiki: 0.14.7
typescript: 5.4.3 typescript: 5.4.5
dev: false dev: false
/typescript@5.1.6: /typescript@5.1.6:
@ -4756,8 +4756,8 @@ packages:
hasBin: true hasBin: true
dev: true dev: true
/typescript@5.4.3: /typescript@5.4.5:
resolution: {integrity: sha512-KrPd3PKaCLr78MalgiwJnA25Nm8HAmdwN3mYUYZgG/wizIo9EainNVQI9/yDavtVFRN2h3k8uf3GLHuhDMgEHg==} resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==}
engines: {node: '>=14.17'} engines: {node: '>=14.17'}
hasBin: true hasBin: true
dev: false dev: false

5
readme.hints.md Normal file
View File

@ -0,0 +1,5 @@
* module needs to be installed globally
* alternatively can be used through npx, if installed locally
* cli parameters are concluded from ./ts/cli.ts
* this module is not intended for API use.
* Read carefully through the TypeScript files. Don't make stuff up.

117
readme.md
View File

@ -1,57 +1,108 @@
# @git.zone/tsdoc # @git.zone/tsdoc
a tool for better documentation An advanced TypeScript documentation tool that leverages AI for enhanced insights and automated documentation generation.
## Install ## Install
To install `@git.zone/tsdoc`, you will need Node.js and npm (Node Package Manager) installed on your system. Once you have those prerequisites, open your terminal or command prompt and run the following command: To install `@git.zone/tsdoc`, you have two options depending on your usage preference: globally for CLI use or locally within your project for use through NPX. To install globally, run:
```bash ```sh
npm install @git.zone/tsdoc --save npm install -g @git.zone/tsdoc
```
For local installation within your project, use:
```sh
npm install --save @git.zone/tsdoc
```
You can then use the tool through NPX if installed locally:
```sh
npx tsdoc
``` ```
This command tells npm to download the `@git.zone/tsdoc` package and add it as a dependency to your project's `package.json` file.
## Usage ## Usage
To use `@git.zone/tsdoc` effectively in your TypeScript projects, we must delve deep into its functionalities and elaborate on the possibilities it offers. Remember, TypeScript is a statically typed superset of JavaScript, and ESM (ECMAScript Module) syntax is preferred for module import/export operations. Throughout this section, we'll maintain strict adherence to these standards. `@git.zone/tsdoc` is a tool designed to improve the process of generating documentation for TypeScript projects. It combines the capabilities of Typedoc with AI-powered features to automatically generate insights and enhance the quality of your API documentation without manual intervention.
### Getting Started To get started, after installation, navigate to the root directory of your TypeScript project where your `tsconfig.json` is located and run:
Before anything else, ensure you import the necessary functionalities from `@git.zone/tsdoc` at the top of your TypeScript file:
```typescript ```typescript
import { runCli } from '@git.zone/tsdoc'; import { runCli } from '@git.zone/tsdoc';
// Initialize and run the CLI
runCli().then(() => {
console.log('Documentation generation complete!');
}).catch((error) => {
console.error('Failed to generate documentation:', error);
});
``` ```
The `runCli` function is a pivotal part of `@git.zone/tsdoc`, serving as an entry point for leveraging its capabilities.
### Leveraging TypeScript for Documentation
TypeScript's rich type system can significantly enhance your documentation process. By providing detailed type annotations, you allow `tsdoc` to generate more informative and useful documentation.
Consider the following TypeScript interface example:
```typescript
interface Person {
name: string;
age: number;
}
```
By explicitly stating that `name` is a `string` and `age` is a `number`, you make your code self-descriptive. `@git.zone/tsdoc` can use this information to generate documentation that is immediately understandable to other developers.
### Generating Documentation ### Generating Documentation
To generate documentation, `@git.zone/tsdoc` provides a CLI tool. Use the `npm run` script from your `package.json` or directly invoke the CLI command if `@git.zone/tsdoc` is installed globally. Here's a sample command to generate documentation: `@git.zone/tsdoc` provides a command-line interface to generate documentation directly from your TypeScript source files. The CLI uses information from your TypeScript configuration and the source files to create comprehensive documentation.
```bash Once `tsdoc` is installed globally, you can run the following command in the root of your TypeScript project:
```sh
tsdoc tsdoc
``` ```
This command scans your TypeScript project for type annotations, comments, and other relevant information to generate comprehensive documentation. This command analyzes your TypeScript project, extracts type information, and generates documentation pages as HTML or Markdown. You can customize the output format and specify additional options via command line parameters or by editing `tsdoc` configuration files.
### Advanced Usage: Ensuring Documentation Quality ### Command Line Parameters
It's critical to ensure the completeness and quality of your documentation. `@git.zone/tsdoc` encourages a workflow that includes regular documentation generation and review. This practice helps identify areas lacking sufficient documentation and areas where the documentation can be improved for better clarity. The CLI tool reads options from `./ts/cli.ts`. Command line parameters allow you to customize the behavior of `tsdoc`. For more detailed usage, run:
In projects with multiple contributors, consider setting up continuous integration (CI) tasks that include documentation generation and linting. This setup can help maintain high documentation standards by automatically flagging issues for correction before merging code changes. ```sh
tsdoc --help
```
This will display a list of available commands and options, such as specifying the output directory for the generated documentation or enabling/disabling certain features of the documentation generator.
### Examples
Below is an example of how to use `tsdoc` to generate documentation with custom options:
```sh
tsdoc --output docs/api --format html
```
This command generates HTML documentation for your project and places it in the `docs/api` directory.
### Additional Features
Beyond basic documentation generation, `tsdoc` integrates AI-powered analysis to enrich the documentation automatically. This feature helps by providing insights into complex types, documenting patterns used within your codebase, and suggesting improvements for better maintainability and readability of your documentation.
**Note:** `tsdoc` is designed for use with projects adhering to modern TypeScript conventions. Ensure your project structure and TypeScript configuration are compatible for optimal results.
### Integration with CI/CD
`@git.zone/tsdoc` can be integrated into your CI/CD pipelines to automatically generate and update documentation as part of your build process. This ensures that your API documentation is always up-to-date with your codebase.
Here's an example configuration snippet for a CI workflow:
```yml
steps:
- name: Install tsdoc
run: npm install -g @git.zone/tsdoc
- name: Generate Documentation
run: tsdoc
```
Remember to replace placeholders and adjust paths as necessary depending on your CI provider and project configuration.
### Conclusion ### Conclusion
`@git.zone/tsdoc` is a versatile tool that, when used to its full potential, significantly enhances the quality and usability of your project's documentation. By following TypeScript best practices and integrating documentation generation into your development workflow, you can achieve a well-documented codebase that is welcoming to new contributors and beneficial to your project's long-term success. `@git.zone/tsdoc` is a powerful tool that leverages the best of Typedoc and AI to streamline the documentation process for TypeScript projects. By automating the generation of insightful and comprehensive documentation, it enhances developer productivity and improves the quality of project documentation.
Please refer to the official `@git.zone/tsdoc` documentation and TypeScript guidelines for more in-depth coverage of the features and best practices discussed here. ## License and Legal Information
(Note: This guide has been crafted to showcase the usage of `@git.zone/tsdoc` in diverse scenarios comprehensively. Ensure to adapt and extend the examples provided to fit the specific needs and complexities of your projects.) This repository contains open-source code that is licensed under the MIT License. A copy of the MIT License can be found in the [license](license) file within this repository.
**Please note:** The MIT License does not grant permission to use the trade names, trademarks, service marks, or product names of the project, except as required for reasonable and customary use in describing the origin of the work and reproducing the content of the NOTICE file.
### Trademarks
This project is owned and maintained by Task Venture Capital GmbH. The names and logos associated with Task Venture Capital GmbH and any related products or services are trademarks of Task Venture Capital GmbH and are not included within the scope of the MIT license granted herein. Use of these trademarks must comply with Task Venture Capital GmbH's Trademark Guidelines, and any usage must be approved in writing by Task Venture Capital GmbH.
### Company Information
Task Venture Capital GmbH
Registered at District court Bremen HRB 35230 HB, Germany
For any legal inquiries or if you require further information, please contact us via email at hello@task.vc.
By using this repository, you acknowledge that you have read this section, agree to comply with its terms, and understand that the licensing of the code does not imply endorsement by Task Venture Capital GmbH of any derivative works.

View File

@ -3,6 +3,6 @@
*/ */
export const commitinfo = { export const commitinfo = {
name: '@git.zone/tsdoc', name: '@git.zone/tsdoc',
version: '1.1.15', version: '1.1.21',
description: 'a tool for better documentation' description: 'An advanced TypeScript documentation tool leveraging AI for enhanced insights and automated documentation generation, with capabilities for automated and enhanced documentation creation tailor-made for TypeScript projects.'
} }

View File

@ -19,6 +19,11 @@ export class ProjectContext {
plugins.path.join(this.projectDir, 'readme.md'), plugins.path.join(this.projectDir, 'readme.md'),
this.projectDir this.projectDir
); );
const smartfilesReadmeHints = await plugins.smartfile.SmartFile.fromFilePath(
plugins.path.join(this.projectDir, 'readme.hints.md'),
this.projectDir
);
const smartfilesNpmextraJSON = await plugins.smartfile.SmartFile.fromFilePath( const smartfilesNpmextraJSON = await plugins.smartfile.SmartFile.fromFilePath(
plugins.path.join(this.projectDir, 'npmextra.json'), plugins.path.join(this.projectDir, 'npmextra.json'),
this.projectDir this.projectDir
@ -34,6 +39,7 @@ export class ProjectContext {
return { return {
smartfilePackageJSON, smartfilePackageJSON,
smartfilesReadme, smartfilesReadme,
smartfilesReadmeHints,
smartfilesNpmextraJSON, smartfilesNpmextraJSON,
smartfilesMod, smartfilesMod,
smartfilesTest, smartfilesTest,
@ -59,6 +65,7 @@ ${smartfile.contents.toString()}
let context = await this.convertFilesToContext([ let context = await this.convertFilesToContext([
files.smartfilePackageJSON, files.smartfilePackageJSON,
files.smartfilesReadme, files.smartfilesReadme,
files.smartfilesReadmeHints,
files.smartfilesNpmextraJSON, files.smartfilesNpmextraJSON,
...files.smartfilesMod, ...files.smartfilesMod,
...files.smartfilesTest, ...files.smartfilesTest,

View File

@ -59,7 +59,9 @@ The Readme should follow the following template:
Don't include any licensing information. This will be added in a later step. Don't include any licensing information. This will be added in a later step.
Avoid "in conclusions". Avoid "in conclusions".
npmextra.json has a tsdocs section that provides valuable information about module ideas. Good to know:
* npmextra.json contains overall module information.
* readme.hints.md provides valuable hints about module ideas.
] ]
`, `,
contextString, contextString,

View File

@ -27,7 +27,8 @@ export class TypeDoc {
"module": "NodeNext", "module": "NodeNext",
"moduleResolution": "NodeNext", "moduleResolution": "NodeNext",
"esModuleInterop": true, "esModuleInterop": true,
"verbatimModuleSyntax": true "verbatimModuleSyntax": true,
"skipLibCheck": true,
}, },
include: [], include: [],
}; };

View File

@ -27,8 +27,15 @@ export const run = async () => {
}); });
}); });
tsdocCli.addCommand('aidocs').subscribe(async (argvArg) => { tsdocCli.addCommand('aidoc').subscribe(async (argvArg) => {
const aidocs = new AiDoc(); logger.log('info', `Generating new readme...`);
logger.log('info', `This may take some time...`);
const aidocInstance = new AiDoc();
await aidocInstance.start();
aidocInstance.buildReadme(paths.cwd);
logger.log('info', `Generating new keywords...`);
logger.log('info', `This may take some time...`);
aidocInstance.buildDescription(paths.cwd);
}) })
tsdocCli.addCommand('test').subscribe((argvArg) => { tsdocCli.addCommand('test').subscribe((argvArg) => {