Skip to content

Commit

Permalink
Merge pull request #60 from ajcwebdev/refactor
Browse files Browse the repository at this point in the history
Refactor
  • Loading branch information
ajcwebdev authored Dec 8, 2024
2 parents e6802d2 + d995890 commit 34f740f
Show file tree
Hide file tree
Showing 48 changed files with 977 additions and 515 deletions.
37 changes: 18 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -101,31 +101,35 @@ Example commands for all available CLI options can be found in [`docs/examples.m

## Project Structure

- Main Entry Point (`src/autoshow.ts`)
- Defines the command-line interface using Commander.js
- Handles various input options (video, playlist, URLs, file, RSS)
- Manages LLM and transcription options
- Main Entry Points (`src/cli`)
- `commander.ts`: Defines the command-line interface using Commander
- `interactive.ts`: Defines the interactive terminal interface using Inquirer

- Command Processors (`src/commands`)
- `processVideo.ts`: Handles single YouTube video processing
- `processPlaylist.ts`: Processes all videos in a YouTube playlist
- `processURLs.ts`: Processes videos from a list of URLs in a file
- `processFile.ts`: Handles local audio/video file processing
- `processRSS.ts`: Processes podcast RSS feeds
- `process-file.ts`: Handles local audio/video file processing
- `process-video.ts`: Handles single YouTube video processing
- `process-urls.ts`: Processes videos from a list of URLs in a file
- `process-playlist.ts`: Processes all videos in a YouTube playlist
- `process-channel.ts`: Processes all videos from a YouTube channel
- `process-rss.ts`: Processes podcast RSS feeds

- Utility Functions (`src/utils`)
- `downloadAudio.ts`: Downloads audio from YouTube videos
- `runTranscription.ts`: Manages the transcription process
- `runLLM.ts`: Handles LLM processing for summarization and chapter generation
- `generateMarkdown.ts`: Creates initial markdown files with metadata
- `cleanUpFiles.ts`: Removes temporary files after processing
- `generate-markdown.ts`: Creates initial markdown files with metadata
- `download-audio.ts`: Downloads audio from YouTube videos
- `run-transcription.ts`: Manages the transcription process
- `run-llm.ts`: Handles LLM processing for summarization and chapter generation
- `clean-up-files.ts`: Removes temporary files after processing
- `logging.ts`: Reusable Chalk functions for logging colors
- `validate-option.ts`: Functions for validating CLI options and handling errors

- Transcription Services (`src/transcription`)
- `whisper.ts`: Uses Whisper.cpp, openai-whisper, or whisper-diarization for transcription
- `deepgram.ts`: Integrates Deepgram transcription service
- `assembly.ts`: Integrates AssemblyAI transcription service
- `transcription-utils.ts`: Transcript formatting functions

- Language Models (`src/llms`)
- `ollama.ts`: Integrations Ollama's locally available models
- `chatgpt.ts`: Integrates OpenAI's GPT models
- `claude.ts`: Integrates Anthropic's Claude models
- `gemini.ts`: Integrates Google's Gemini models
Expand All @@ -136,11 +140,6 @@ Example commands for all available CLI options can be found in [`docs/examples.m
- `groq.ts`: Integrates Groq's open source models
- `prompt.ts`: Defines the prompt structure for summarization and chapter generation

- Web Interface (`web`) and Server (`server`)
- Web interface built with React and Vite
- Node.js server that handles backend operations for the web interface
- *Note: Just a proof of concept, very little functionality built at this point. Expect these to catch up with the CLI starting in Q4 2024*

## Contributors

- [Jenn Junod](https://jennjunod.dev/) host of [Teach Jenn Tech](https://teachjenntech.com/)
Loading

0 comments on commit 34f740f

Please sign in to comment.