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:web
cd ..
cd worker
npm 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 test
npm 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