The official Command Line Interface for automating the post-production and publishing workflow of the Angularidades podcast.
- 💬 Interactive Menu: Select episodes from an elegant, state-of-the-art terminal UI.
- 🆕 Scaffolding: Create a new episode structure with
angularidades new. - 📦 Publishing: Sync transcripts, descriptions, and tags to YouTube via
angularidades publish. - 🔍 Dry Run: Preview exactly what will be sent to YouTube before making changes.
- 🛠️ Diagnostics: Use
angularidades doctorto check metadata and credentials.
.agents/: Specialized AI agents for planning and publishing.bin/: CLI entry points.episodes/: Work directory organized by episode number.scripts/: Internal logic and YouTube API integrations.
To get started with the Angularidades Ops pipeline, run the initialization script:
./init.shThis script will install dependencies and link the angularidades CLI tool globally on your system.
The project provides a unified CLI tool: angularidades. If you haven't linked it yet, you can also use pnpm run youtube:<command>.
- Determine the upcoming episode's Topic or Guest Profile.
- Run the Planner agent pointing to
.agents/planner/system_prompt.md. - Save the output to
episodes/<episode-number>/0_planner/script.md. - Use the generated
script.mdto conduct the interview via teleprompter.
- Scaffolding: Create the episode structure and metadata. It will automatically fetch captions from YouTube:
angularidades new
- Diagnostics: Run the Doctor check to ensure all metadata and credentials are ready:
angularidades doctor
- AI Processing: Instruct the
@publisherAI Agent (your AI Assistant) to process the episode using the planner script and YouTube captions as inputs. The agent will place all generated files (titles, descriptions, LinkedIn posts, and corrected transcripts) into the2_publisher/folder. - Verification: Run a dry-run to verify the payload that will be sent to YouTube:
angularidades dry-run
- Publishing: Push the metadata and transcripts to the YouTube API:
Note: If no episode is provided, the CLI will present an interactive selection menu.
angularidades publish
Note for Contributors: If you are a standard contributor you do not need to continue with this section. You can use the
pnpm run youtube:dry-runcommand to test your changes locally. This full OAuth setup is exclusively for core maintainers of the Angularidades project who have explicit "Editor" or "Manager" permissions on the Angularidades YouTube channel and need to update the CI/CD secrets or publish locally.
To run the automated pnpm run youtube:publish script, you must configure Google Cloud OAuth2 credentials. The project utilizes a "Desktop App" OAuth flow to securely generate a Refresh Token.
1. Create Google Cloud Credentials:
- Go to the Google Cloud Console.
- Enable the YouTube Data API v3 in your project.
- Configure the OAuth consent screen (External). Your email should be added under the Test users section to avoid
Error 403: access_denied. - Go to Credentials > Create Credentials > OAuth client ID.
- Select Application type: Desktop App (This avoids
redirect_urimismatch errors). - Copy the generated Client ID and Client Secret.
2. Generate the Refresh Token:
- Copy
.env.exampleto.envand paste your Client ID and Secret. - Run the included authentication helper script:
node scripts/auth-helper.js
- Click the provided URL, authorize the app, and copy the
codefrom the browser's address bar. - Paste the code back into your terminal to receive your Refresh Token.
- Save all three values in your
.envfile for local use, and upload them to GitHub Secrets for CI/CD automation.