# @git.zone/tsdoc An advanced TypeScript documentation tool that leverages AI for enhanced insights and automated documentation generation. ## Install 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: ```sh 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 ``` ## Usage `@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. To get started, after installation, navigate to the root directory of your TypeScript project where your `tsconfig.json` is located and run: ```typescript 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); }); ``` ### Generating 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. Once `tsdoc` is installed globally, you can run the following command in the root of your TypeScript project: ```sh tsdoc ``` 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. ### Command Line Parameters 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: ```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 `@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. ## License and Legal Information 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.