feat: TypeScript API Client Automation & Documentation Integration (#208)

Commit: 47d4a56b831f6e82639ed34979c63788339b2f7d
Date: 2025-07-09 03:55:00 +0200
Author: PascalHavelange

Commit Message

feat: TypeScript API Client Automation & Documentation Integration (#208)

* Adding temp_*.md to .gitignore
Adding a copilot-instruction for git commit and pr messages

* # feat: Add TypeScript-Axios API client automation and documentation integration

## Overview
Implemented complete automation for generating, publishing, and documenting a TypeScript-Axios API client for Vue.js applications, with full integration into GitHub Pages documentation.

## Client Generation & Publishing
- **PowerShell Scripts**: Created automated generation and publishing scripts
  - `scripts/generate-api-client.ps1`: Generates TypeScript client from OpenAPI spec
  - `scripts/publish-api-client.ps1`: Publishes to GitHub Packages with authentication
  - `scripts/api-client-config.psd1`: Configuration for package metadata and templates
- **OpenAPI Generator**: Configured TypeScript-Axios client generation with proper templates
- **GitHub Packages**: Set up publishing to `@metanull/inventory-app-api-client`
- **Package Structure**: Created proper npm package with dependencies and exports

## Documentation Integration
- **Python Generator**: Created `docs/generate-client-docs.py` for Jekyll documentation
  - Processes 146+ generated markdown files (APIs, Models, Requests, Responses)
  - Fixes broken navigation links in generated documentation
  - Creates categorized index with all client documentation
  - Generates Jekyll-compatible pages with proper front matter
- **GitHub Pages**: Integrated client docs into main documentation site
  - Added to API Documentation page as primary access point
  - Created comprehensive guidelines page for the generator
  - Implemented breadcrumb navigation across all documentation pages

## User Experience Improvements
- **Navigation**: Added breadcrumb navigation to all pages except index
  - Links to Home, API Documentation, Guidelines, Contributing, Development Archive
  - Shows current page context and hierarchical structure
- **Documentation Structure**: Enhanced guidelines section
  - Added API Client Documentation Generator alongside existing tools
  - Comprehensive documentation with usage examples and configuration details
- **Access Points**: Multiple ways to access client documentation
  - From API Documentation page (primary)
  - Direct links in breadcrumb navigation
  - GitHub Packages integration

## Automation & CI/CD
- **GitHub Actions**: Updated workflows for automatic generation
  - Integrated client documentation generation into GitHub Pages workflow
  - Added client docs generation step before Jekyll build
- **Package Publishing**: Automated versioning and publishing to GitHub Packages
  - Credential management for secure publishing
  - Automatic README generation with usage examples
  - Proper npm package configuration

## Technical Implementation
- **TypeScript Client**: Full-featured API client with 146+ documented endpoints
  - All API endpoints, models, requests, and responses covered
  - Type-safe interfaces for Vue.js integration
  - Comprehensive documentation with examples
- **Jekyll Integration**: Seamless integration with existing documentation
  - Fixed broken links in generated documentation
  - Proper URL structure and navigation
  - Consistent styling and layout
- **File Organization**: Clean structure for maintainability
  - Separate directories for client code and documentation
  - Proper gitignore and npmignore configurations
  - Template-based configuration management

## Package Information
- **Package Name**: `@metanull/inventory-app-api-client`
- **Registry**: GitHub Packages (https://npm.pkg.github.com/)
- **Version Management**: Automated through configuration
- **Documentation**: Auto-generated and integrated with main site

## Files Added/Modified
### New Files
- Client generation and publishing infrastructure (scripts/)
- Complete TypeScript API client (api-client/)
- Jekyll documentation integration (docs/api-client/, docs/generate-client-docs.py)
- GitHub Actions workflow updates
- Guidelines documentation (docs/guidelines/generate-api-client-docs.md)

### Modified Files
- GitHub Pages workflow for documentation integration
- API documentation page with client access
- Main documentation index structure
- Jekyll layout with breadcrumb navigation
- Package configuration files

This implementation provides a complete solution for TypeScript API client automation, from generation through publishing to documentation, making API integration seamless for Vue.js developers.

---------

Co-authored-by: Pascal HAVELANGE <havelangep@hotmail.com>

Files Changed


This documentation was automatically generated from Git commit data.