Skip to content

Comments

docs: improve documentation and add troubleshooting guide#99

Open
Godzilla675 wants to merge 2 commits intomainfrom
improve-docs-11858702151210839129
Open

docs: improve documentation and add troubleshooting guide#99
Godzilla675 wants to merge 2 commits intomainfrom
improve-docs-11858702151210839129

Conversation

@Godzilla675
Copy link
Owner

This PR improves the project documentation by:

  1. Adding a comprehensive Troubleshooting Guide (docs/troubleshooting.md).
  2. Updating the root README and docs/README for better navigation.
  3. Adding contribution guidelines to docs/development.md.
  4. Enhancing the API documentation with concrete examples of data structures and WebSocket payloads.

PR created automatically by Jules for task 11858702151210839129 started by @Godzilla675

- Added docs/troubleshooting.md covering FFmpeg, MCP, and LLM issues.
- Updated docs/README.md to include troubleshooting and remove broken links.
- Updated docs/development.md with contribution guidelines and monorepo tips.
- Enhanced docs/api.md with Project JSON and WebSocket payload examples.
- Added troubleshooting link to root README.md.
Copilot AI review requested due to automatic review settings February 8, 2026 19:16
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @Godzilla675, I'm Gemini Code Assist1! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!

This pull request significantly enhances the project's documentation, making it more accessible and informative for both users and potential contributors. It introduces a dedicated troubleshooting guide to assist with common problems, clarifies contribution processes, and enriches the API documentation with practical examples.

Highlights

  • New Troubleshooting Guide: A comprehensive guide (docs/troubleshooting.md) has been added to help users resolve common issues encountered while setting up or running the AI Video Editor.
  • Improved Documentation Navigation: The main README.md and docs/README.md files have been updated to include links to the new troubleshooting guide, enhancing overall documentation discoverability.
  • Added Contribution Guidelines: Detailed contribution guidelines, covering branching policy, development workflow, monorepo management, and coding standards, have been added to docs/development.md to assist new contributors.
  • Enhanced API Documentation: The docs/api.md file now includes concrete examples of project JSON data structures and various WebSocket message payloads, providing clearer guidance for API consumers.
Changelog
  • README.md
    • Added a 'Troubleshooting' section with a link to the new guide.
  • docs/README.md
    • Included a link to the new troubleshooting guide.
    • Removed the link to MASTERPLAN.MD.
  • docs/api.md
    • Introduced a 'Data Structures' section with a detailed 'Project JSON Example'.
    • Added a 'WebSocket Message Payloads' section, providing examples for copilot.message, copilot.tool_call, and project.updated messages.
  • docs/development.md
    • Appended a new 'Contributing' section, detailing branching policy, development workflow, monorepo management, and coding standards.
  • docs/troubleshooting.md
    • New file: A comprehensive guide covering common issues related to FFmpeg, MCP server connectivity, LLM & API key problems, Frontend & WebSocket issues, and Whisper server problems, along with their solutions.
Activity
  • The pull request was automatically generated by Jules based on a task initiated by @Godzilla675.
Using Gemini Code Assist

The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.

Invoking Gemini

You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.

Feature Command Description
Code Review /gemini review Performs a code review for the current pull request in its current state.
Pull Request Summary /gemini summary Provides a summary of the current pull request in its current state.
Comment @gemini-code-assist Responds in comments when explicitly tagged, both in pull request comments and review comments.
Help /gemini help Displays a list of available commands.

Customization

To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.

Limitations & Feedback

Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with 👍 and 👎 on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.

You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.

Footnotes

  1. Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.

Repository owner deleted a comment from google-labs-jules bot Feb 8, 2026
Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request significantly improves the project's documentation by adding a new troubleshooting guide, contribution guidelines, and detailed API examples. The changes are well-structured and will be very helpful for developers. I've found a couple of minor areas for improvement in the new documentation to enhance clarity and correctness. Specifically, one of the JSON examples in the API documentation is technically invalid, and a troubleshooting step could be more specific about how to apply the suggested solution. Overall, this is a great contribution to the project's usability.

docs/api.md Outdated
{
"type": "project.updated",
"payload": {
"project": { ... } // Full project object
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

The comment // Full project object makes this JSON example invalid, as JSON does not support comments. To keep the example clear and valid, it's better to remove the comment. The { ... } notation is generally understood as a placeholder for a full object in documentation.

Suggested change
"project": { ... } // Full project object
"project": { ... }

**Solution**:
- Complex operations like `transcribe_audio` or `render_video` can take time.
- Check system resources (CPU/RAM).
- Increase the timeout in `apps/backend/src/mcp/client-manager.ts` if necessary.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

This is a helpful suggestion, but it's not clear from the code in apps/backend/src/mcp/client-manager.ts how to increase the timeout. The file doesn't seem to contain a configurable timeout setting for tool execution. To make this guide more actionable, could you either point to the specific location of the timeout setting or consider adding one? For example, if the underlying SDK supports it, a timeout could be passed to client.callTool.

Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Improves the project’s documentation set by adding a troubleshooting guide and expanding/clarifying developer and API documentation to make setup and WebSocket usage easier to navigate.

Changes:

  • Added a new docs/troubleshooting.md guide and linked it from the root README and docs index.
  • Added contribution guidelines to docs/development.md.
  • Expanded docs/api.md with concrete examples for Project JSON and WebSocket payloads.

Reviewed changes

Copilot reviewed 5 out of 5 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
docs/troubleshooting.md New troubleshooting guide for common setup/runtime issues.
docs/development.md Adds a “Contributing” section with workflow and monorepo tips.
docs/api.md Adds example Project JSON and WebSocket message payloads.
docs/README.md Adds troubleshooting link to docs navigation; removes outdated quick link.
README.md Adds a Troubleshooting section linking to the new guide.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines 30 to 34
**Symptoms**: LLM reports a timeout or the backend logs show "Tool execution timed out".
**Solution**:
- Complex operations like `transcribe_audio` or `render_video` can take time.
- Check system resources (CPU/RAM).
- Increase the timeout in `apps/backend/src/mcp/client-manager.ts` if necessary.
Copy link

Copilot AI Feb 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This section references a backend log message ("Tool execution timed out") and suggests increasing a timeout in apps/backend/src/mcp/client-manager.ts, but there is no timeout configuration there and that log string doesn’t appear in the codebase. Also, render_video doesn’t appear to be a tool name (the FFmpeg server docs list export_project instead). Please update the troubleshooting steps to reflect the actual error surfaces/tools used in this repo.

Suggested change
**Symptoms**: LLM reports a timeout or the backend logs show "Tool execution timed out".
**Solution**:
- Complex operations like `transcribe_audio` or `render_video` can take time.
- Check system resources (CPU/RAM).
- Increase the timeout in `apps/backend/src/mcp/client-manager.ts` if necessary.
**Symptoms**: The LLM or MCP client reports that a tool call took too long or failed due to a timeout.
**Solution**:
- Complex operations like `transcribe_audio` or the FFmpeg server's `export_project` can take a long time, especially on large or high‑resolution videos.
- Check system resources (CPU/RAM/disk I/O) and ensure the MCP servers (e.g., FFmpeg, Whisper) are running and responsive.
- Review your LLM/client or deployment configuration for any tool/HTTP/WebSocket timeout settings and increase them if long‑running operations are expected.

Copilot uses AI. Check for mistakes.
docs/api.md Outdated
"duration": 10,
"sourceStart": 0,
"sourceEnd": 10,
"transform": { "x": 0, "y": 0, "scale": 1, "rotation": 0 }
Copy link

Copilot AI Feb 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The Project JSON example doesn’t match the Clip shape used in @ai-video-editor/shared-types: effects is a required array field on clips. To keep the example copy/pasteable and accurate, include "effects": [] (and any other required fields) in the clip object.

Suggested change
"transform": { "x": 0, "y": 0, "scale": 1, "rotation": 0 }
"transform": { "x": 0, "y": 0, "scale": 1, "rotation": 0 },
"effects": []

Copilot uses AI. Check for mistakes.
Comment on lines 218 to 221
"type": "project.updated",
"payload": {
"project": { ... } // Full project object
}
Copy link

Copilot AI Feb 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This code block is labeled as JSON, but it contains a // comment ("project": { ... } // ...), which makes it invalid JSON for users who copy/paste it. Consider removing the inline comment or changing the fence to jsonc and/or moving the explanation outside the block.

Copilot uses AI. Check for mistakes.
docs/api.md Outdated
"type": "copilot.message",
"payload": {
"content": "Add a 5 second clip of the sunset to the start of the video",
"projectId": "550e8400-e29b-41d4-a716-446655440000"
Copy link

Copilot AI Feb 8, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

copilot.message payloads in the actual frontend/backend also support fields like model and projectData (the backend destructures them and the web app sends them). The example here currently omits them, which can make it harder to reproduce requests during debugging; consider documenting these as optional fields or including them in the example.

Suggested change
"projectId": "550e8400-e29b-41d4-a716-446655440000"
"projectId": "550e8400-e29b-41d4-a716-446655440000",
"model": "gpt-4o-mini", // optional: model to use for this request
"projectData": { ... } // optional: serialized project snapshot for context

Copilot uses AI. Check for mistakes.
@Godzilla675
Copy link
Owner Author

@copilot open a new pull request to apply changes based on the comments in this thread

Copy link
Contributor

Copilot AI commented Feb 9, 2026

@Godzilla675 I've opened a new pull request, #100, to work on those changes. Once the pull request is ready, I'll request review from you.

@google-labs-jules
Copy link
Contributor

@copilot open a new pull request to apply changes based on the comments in this thread

I've applied the requested changes based on the review thread:

  • Fixed invalid JSON in docs/api.md by removing inline comments.
  • Added missing effects: [] field to the Clip object in docs/api.md example.
  • Added optional model and projectData fields to the copilot.message example in docs/api.md.
  • Corrected the tool name from render_video to export_project in docs/troubleshooting.md.
  • Updated the troubleshooting guide to provide more accurate and generic advice for tool execution timeouts.

- docs/api.md: Fix invalid JSON by removing comments, adding missing 'effects' field, and including optional 'model'/'projectData' fields.
- docs/troubleshooting.md: Correct tool name to 'export_project' and update timeout advice for better accuracy.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants