A powerful tool that automatically generates documentation for your TypeScript code using AI-powered docstring generation and TypeDoc.
- 🚀 AI-powered docstring generation using OpenAI/Anthropic/Gemini
- 📝 Automatic TypeScript documentation generation
- 💻 Modern web interface with Monaco Editor
- 📁 File upload and processing
- 📊 Real-time progress tracking
- 📦 Multiple output formats (HTML/Markdown)
- 🎨 Customizable documentation templates
- Node.js 18+ and npm/yarn
- OpenAI/Anthropic/Gemini API key (for AI docstring generation)
- Clone the repository:
git clone https://github.com/yourusername/ts-docgen.git
cd ts-docgen- Install dependencies:
npm install- Set up environment variables:
cp .env.example .env
# Edit .env with your API keys and configuration- Start the development server:
npm run dev:webcd ..cd workernpm run dev:worker- Open the web interface at
http://localhost:3000 - Upload your TypeScript files or paste code directly
- Configure documentation settings
- Generate documentation
- Download or preview the results
Upload TypeScript files for documentation generation.
Request Body:
{
files: File[]
}Get the status of a documentation generation job.
Response: Documentation file (HTML/Markdown)
The VersioningService provides version control functionality for documentation files, allowing you to track changes, compare versions, and manage documentation history.
- Create and manage versions of documentation files
- Track changes and authors for each version
- Compare different versions of documentation
- Tag versions for better organization
- Retrieve specific versions or the latest version
The application can be configured through environment variables:
OPENAI_API_KEY: OpenAI API keyANTHROPIC_API_KEY: Anthropic API keyGEMINI_API_KEY: Gemini API keySUPABASE_URL: Supabase project URLSUPABASE_SERVICE_ROLE_KEY: Supabase service role key for storage access
npm testnpm run build- Build the application:
npm run build- Start the production server:
npm start- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request