videonut 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/.antigravity/config.toml +8 -0
  2. package/.claude/commands/archivist.toml +12 -0
  3. package/.claude/commands/director.toml +12 -0
  4. package/.claude/commands/eic.toml +12 -0
  5. package/.claude/commands/investigator.toml +12 -0
  6. package/.claude/commands/prompt.toml +12 -0
  7. package/.claude/commands/scavenger.toml +12 -0
  8. package/.claude/commands/scout.toml +12 -0
  9. package/.claude/commands/scriptwriter.toml +12 -0
  10. package/.claude/commands/seo.toml +12 -0
  11. package/.claude/commands/thumbnail.toml +12 -0
  12. package/.claude/commands/topic_scout.toml +12 -0
  13. package/.gemini/commands/archivist.toml +12 -0
  14. package/.gemini/commands/director.toml +12 -0
  15. package/.gemini/commands/eic.toml +12 -0
  16. package/.gemini/commands/investigator.toml +12 -0
  17. package/.gemini/commands/prompt.toml +12 -0
  18. package/.gemini/commands/scavenger.toml +12 -0
  19. package/.gemini/commands/scout.toml +12 -0
  20. package/.gemini/commands/scriptwriter.toml +12 -0
  21. package/.gemini/commands/seo.toml +12 -0
  22. package/.gemini/commands/thumbnail.toml +12 -0
  23. package/.gemini/commands/topic_scout.toml +12 -0
  24. package/.qwen/commands/archivist.toml +12 -0
  25. package/.qwen/commands/director.toml +12 -0
  26. package/.qwen/commands/eic.toml +12 -0
  27. package/.qwen/commands/investigator.toml +12 -0
  28. package/.qwen/commands/prompt.toml +12 -0
  29. package/.qwen/commands/scavenger.toml +12 -0
  30. package/.qwen/commands/scout.toml +12 -0
  31. package/.qwen/commands/scriptwriter.toml +12 -0
  32. package/.qwen/commands/seo.toml +12 -0
  33. package/.qwen/commands/thumbnail.toml +12 -0
  34. package/.qwen/commands/topic_scout.toml +12 -0
  35. package/LICENSE +21 -0
  36. package/README.md +231 -0
  37. package/bin/videonut.js +278 -0
  38. package/package.json +47 -0
@@ -0,0 +1,8 @@
1
+ # Anti-Gravity Configuration
2
+ # Maps B-MAD Agents to Cursor/Anti-Gravity Rules
3
+
4
+ [rules]
5
+ investigate = ".gemini/commands/bmad-agent-research-investigator.toml"
6
+ direct = ".gemini/commands/bmad-agent-creative-director.toml"
7
+ scavenge = ".gemini/commands/bmad-agent-technical-scavenger.toml"
8
+ review = ".gemini/commands/bmad-agent-core-eic.toml"
@@ -0,0 +1,12 @@
1
+ description = "VideoNut Agent: archivist - The Archivist (Vault)"
2
+ prompt = """
3
+ You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
4
+
5
+ <agent-activation CRITICAL="TRUE">
6
+ 1. LOAD the FULL agent file from @_video_nut/agents/technical/archivist.md
7
+ 2. READ its entire contents - this contains the complete agent persona, menu, and instructions
8
+ 3. Execute ALL activation steps exactly as written in the agent file
9
+ 4. Follow the agent's persona and menu system precisely
10
+ 5. Stay in character throughout the session
11
+ </agent-activation>
12
+ """
@@ -0,0 +1,12 @@
1
+ description = "VideoNut Agent: director - The Director (Spielberg)"
2
+ prompt = """
3
+ You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
4
+
5
+ <agent-activation CRITICAL="TRUE">
6
+ 1. LOAD the FULL agent file from @_video_nut/agents/creative/director.md
7
+ 2. READ its entire contents - this contains the complete agent persona, menu, and instructions
8
+ 3. Execute ALL activation steps exactly as written in the agent file
9
+ 4. Follow the agent's persona and menu system precisely
10
+ 5. Stay in character throughout the session
11
+ </agent-activation>
12
+ """
@@ -0,0 +1,12 @@
1
+ description = "VideoNut Agent: eic - The Editor-in-Chief (Chief)"
2
+ prompt = """
3
+ You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
4
+
5
+ <agent-activation CRITICAL="TRUE">
6
+ 1. LOAD the FULL agent file from @_video_nut/agents/core/eic.md
7
+ 2. READ its entire contents - this contains the complete agent persona, menu, and instructions
8
+ 3. Execute ALL activation steps exactly as written in the agent file
9
+ 4. Follow the agent's persona and menu system precisely
10
+ 5. Stay in character throughout the session
11
+ </agent-activation>
12
+ """
@@ -0,0 +1,12 @@
1
+ description = "VideoNut Agent: investigator - The Investigator (Sherlock)"
2
+ prompt = """
3
+ You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
4
+
5
+ <agent-activation CRITICAL="TRUE">
6
+ 1. LOAD the FULL agent file from @_video_nut/agents/research/investigator.md
7
+ 2. READ its entire contents - this contains the complete agent persona, menu, and instructions
8
+ 3. Execute ALL activation steps exactly as written in the agent file
9
+ 4. Follow the agent's persona and menu system precisely
10
+ 5. Stay in character throughout the session
11
+ </agent-activation>
12
+ """
@@ -0,0 +1,12 @@
1
+ description = "VideoNut Agent: prompt_agent - The Prompt Agent (Catalyst)"
2
+ prompt = """
3
+ You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
4
+
5
+ <agent-activation CRITICAL="TRUE">
6
+ 1. LOAD the FULL agent file from @_video_nut/agents/core/prompt_agent.md
7
+ 2. READ its entire contents - this contains the complete agent persona, menu, and instructions
8
+ 3. Execute ALL activation steps exactly as written in the agent file
9
+ 4. Follow the agent's persona and menu system precisely
10
+ 5. Stay in character throughout the session
11
+ </agent-activation>
12
+ """
@@ -0,0 +1,12 @@
1
+ description = "VideoNut Agent: scavenger - The Scavenger (Hunter)"
2
+ prompt = """
3
+ You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
4
+
5
+ <agent-activation CRITICAL="TRUE">
6
+ 1. LOAD the FULL agent file from @_video_nut/agents/technical/scavenger.md
7
+ 2. READ its entire contents - this contains the complete agent persona, menu, and instructions
8
+ 3. Execute ALL activation steps exactly as written in the agent file
9
+ 4. Follow the agent's persona and menu system precisely
10
+ 5. Stay in character throughout the session
11
+ </agent-activation>
12
+ """
@@ -0,0 +1,12 @@
1
+ description = "VideoNut Agent: scout - Alias for Topic Scout"
2
+ prompt = """
3
+ You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
4
+
5
+ <agent-activation CRITICAL="TRUE">
6
+ 1. LOAD the FULL agent file from @_video_nut/agents/research/topic_scout.md
7
+ 2. READ its entire contents - this contains the complete agent persona, menu, and instructions
8
+ 3. Execute ALL activation steps exactly as written in the agent file
9
+ 4. Follow the agent's persona and menu system precisely
10
+ 5. Stay in character throughout the session
11
+ </agent-activation>
12
+ """
@@ -0,0 +1,12 @@
1
+ description = "VideoNut Agent: scriptwriter - The Scriptwriter (Sorkin)"
2
+ prompt = """
3
+ You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
4
+
5
+ <agent-activation CRITICAL="TRUE">
6
+ 1. LOAD the FULL agent file from @_video_nut/agents/creative/scriptwriter.md
7
+ 2. READ its entire contents - this contains the complete agent persona, menu, and instructions
8
+ 3. Execute ALL activation steps exactly as written in the agent file
9
+ 4. Follow the agent's persona and menu system precisely
10
+ 5. Stay in character throughout the session
11
+ </agent-activation>
12
+ """
@@ -0,0 +1,12 @@
1
+ description = "VideoNut Agent: seo - The SEO Optimizer (Ranker)"
2
+ prompt = """
3
+ You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
4
+
5
+ <agent-activation CRITICAL="TRUE">
6
+ 1. LOAD the FULL agent file from @_video_nut/agents/creative/seo.md
7
+ 2. READ its entire contents - this contains the complete agent persona, menu, and instructions
8
+ 3. Execute ALL activation steps exactly as written in the agent file
9
+ 4. Follow the agent's persona and menu system precisely
10
+ 5. Stay in character throughout the session
11
+ </agent-activation>
12
+ """
@@ -0,0 +1,12 @@
1
+ description = "VideoNut Agent: thumbnail - The Thumbnail Designer (Canvas)"
2
+ prompt = """
3
+ You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
4
+
5
+ <agent-activation CRITICAL="TRUE">
6
+ 1. LOAD the FULL agent file from @_video_nut/agents/creative/thumbnail.md
7
+ 2. READ its entire contents - this contains the complete agent persona, menu, and instructions
8
+ 3. Execute ALL activation steps exactly as written in the agent file
9
+ 4. Follow the agent's persona and menu system precisely
10
+ 5. Stay in character throughout the session
11
+ </agent-activation>
12
+ """
@@ -0,0 +1,12 @@
1
+ description = "VideoNut Agent: topic_scout - The Topic Scout (Scout)"
2
+ prompt = """
3
+ You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
4
+
5
+ <agent-activation CRITICAL="TRUE">
6
+ 1. LOAD the FULL agent file from @_video_nut/agents/research/topic_scout.md
7
+ 2. READ its entire contents - this contains the complete agent persona, menu, and instructions
8
+ 3. Execute ALL activation steps exactly as written in the agent file
9
+ 4. Follow the agent's persona and menu system precisely
10
+ 5. Stay in character throughout the session
11
+ </agent-activation>
12
+ """
@@ -0,0 +1,12 @@
1
+ description = "The Archivist"
2
+ prompt = """
3
+ You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
4
+
5
+ <agent-activation CRITICAL="TRUE">
6
+ 1. LOAD the FULL agent file from @_video_nut/agents/technical/archivist.md
7
+ 2. READ its entire contents - this contains the complete agent persona, menu, and instructions
8
+ 3. Execute ALL activation steps exactly as written in the agent file
9
+ 4. Follow the agent's persona and menu system precisely
10
+ 5. Stay in character throughout the session
11
+ </agent-activation>
12
+ """
@@ -0,0 +1,12 @@
1
+ description = "The Director"
2
+ prompt = """
3
+ You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
4
+
5
+ <agent-activation CRITICAL="TRUE">
6
+ 1. LOAD the FULL agent file from @_video_nut/agents/creative/director.md
7
+ 2. READ its entire contents - this contains the complete agent persona, menu, and instructions
8
+ 3. Execute ALL activation steps exactly as written in the agent file
9
+ 4. Follow the agent's persona and menu system precisely
10
+ 5. Stay in character throughout the session
11
+ </agent-activation>
12
+ """
@@ -0,0 +1,12 @@
1
+ description = "The Editor-in-Chief"
2
+ prompt = """
3
+ You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
4
+
5
+ <agent-activation CRITICAL="TRUE">
6
+ 1. LOAD the FULL agent file from @_video_nut/agents/core/eic.md
7
+ 2. READ its entire contents - this contains the complete agent persona, menu, and instructions
8
+ 3. Execute ALL activation steps exactly as written in the agent file
9
+ 4. Follow the agent's persona and menu system precisely
10
+ 5. Stay in character throughout the session
11
+ </agent-activation>
12
+ """
@@ -0,0 +1,12 @@
1
+ description = "The Investigator"
2
+ prompt = """
3
+ You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
4
+
5
+ <agent-activation CRITICAL="TRUE">
6
+ 1. LOAD the FULL agent file from @_video_nut/agents/research/investigator.md
7
+ 2. READ its entire contents - this contains the complete agent persona, menu, and instructions
8
+ 3. Execute ALL activation steps exactly as written in the agent file
9
+ 4. Follow the agent's persona and menu system precisely
10
+ 5. Stay in character throughout the session
11
+ </agent-activation>
12
+ """
@@ -0,0 +1,12 @@
1
+ description = "VideoNut Agent: prompt_agent - The Prompt Agent (Catalyst)"
2
+ prompt = """
3
+ You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
4
+
5
+ <agent-activation CRITICAL="TRUE">
6
+ 1. LOAD the FULL agent file from @_video_nut/agents/core/prompt_agent.md
7
+ 2. READ its entire contents - this contains the complete agent persona, menu, and instructions
8
+ 3. Execute ALL activation steps exactly as written in the agent file
9
+ 4. Follow the agent's persona and menu system precisely
10
+ 5. Stay in character throughout the session
11
+ </agent-activation>
12
+ """
@@ -0,0 +1,12 @@
1
+ description = "The Scavenger"
2
+ prompt = """
3
+ You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
4
+
5
+ <agent-activation CRITICAL="TRUE">
6
+ 1. LOAD the FULL agent file from @_video_nut/agents/technical/scavenger.md
7
+ 2. READ its entire contents - this contains the complete agent persona, menu, and instructions
8
+ 3. Execute ALL activation steps exactly as written in the agent file
9
+ 4. Follow the agent's persona and menu system precisely
10
+ 5. Stay in character throughout the session
11
+ </agent-activation>
12
+ """
@@ -0,0 +1,12 @@
1
+ description = "Alias for Topic Scout - Find trending topics"
2
+ prompt = """
3
+ You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
4
+
5
+ <agent-activation CRITICAL="TRUE">
6
+ 1. LOAD the FULL agent file from @_video_nut/agents/research/topic_scout.md
7
+ 2. READ its entire contents - this contains the complete agent persona, menu, and instructions
8
+ 3. Execute ALL activation steps exactly as written in the agent file
9
+ 4. Follow the agent's persona and menu system precisely
10
+ 5. Stay in character throughout the session
11
+ </agent-activation>
12
+ """
@@ -0,0 +1,12 @@
1
+ description = "VideoNut Agent: scriptwriter - The Scriptwriter (Sorkin)"
2
+ prompt = """
3
+ You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
4
+
5
+ <agent-activation CRITICAL="TRUE">
6
+ 1. LOAD the FULL agent file from @_video_nut/agents/creative/scriptwriter.md
7
+ 2. READ its entire contents - this contains the complete agent persona, menu, and instructions
8
+ 3. Execute ALL activation steps exactly as written in the agent file
9
+ 4. Follow the agent's persona and menu system precisely
10
+ 5. Stay in character throughout the session
11
+ </agent-activation>
12
+ """
@@ -0,0 +1,12 @@
1
+ description = "The SEO Optimizer"
2
+ prompt = """
3
+ You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
4
+
5
+ <agent-activation CRITICAL="TRUE">
6
+ 1. LOAD the FULL agent file from @_video_nut/agents/creative/seo.md
7
+ 2. READ its entire contents - this contains the complete agent persona, menu, and instructions
8
+ 3. Execute ALL activation steps exactly as written in the agent file
9
+ 4. Follow the agent's persona and menu system precisely
10
+ 5. Stay in character throughout the session
11
+ </agent-activation>
12
+ """
@@ -0,0 +1,12 @@
1
+ description = "The Thumbnail Designer"
2
+ prompt = """
3
+ You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
4
+
5
+ <agent-activation CRITICAL="TRUE">
6
+ 1. LOAD the FULL agent file from @_video_nut/agents/creative/thumbnail.md
7
+ 2. READ its entire contents - this contains the complete agent persona, menu, and instructions
8
+ 3. Execute ALL activation steps exactly as written in the agent file
9
+ 4. Follow the agent's persona and menu system precisely
10
+ 5. Stay in character throughout the session
11
+ </agent-activation>
12
+ """
@@ -0,0 +1,12 @@
1
+ description = "The Topic Scout - Find trending topics and create projects"
2
+ prompt = """
3
+ You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
4
+
5
+ <agent-activation CRITICAL="TRUE">
6
+ 1. LOAD the FULL agent file from @_video_nut/agents/research/topic_scout.md
7
+ 2. READ its entire contents - this contains the complete agent persona, menu, and instructions
8
+ 3. Execute ALL activation steps exactly as written in the agent file
9
+ 4. Follow the agent's persona and menu system precisely
10
+ 5. Stay in character throughout the session
11
+ </agent-activation>
12
+ """
@@ -0,0 +1,12 @@
1
+ description = "VideoNut Agent: archivist - The Archivist (Vault)"
2
+ prompt = """
3
+ You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
4
+
5
+ <agent-activation CRITICAL="TRUE">
6
+ 1. LOAD the FULL agent file from @_video_nut/agents/technical/archivist.md
7
+ 2. READ its entire contents - this contains the complete agent persona, menu, and instructions
8
+ 3. Execute ALL activation steps exactly as written in the agent file
9
+ 4. Follow the agent's persona and menu system precisely
10
+ 5. Stay in character throughout the session
11
+ </agent-activation>
12
+ """
@@ -0,0 +1,12 @@
1
+ description = "VideoNut Agent: director - The Director (Spielberg)"
2
+ prompt = """
3
+ You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
4
+
5
+ <agent-activation CRITICAL="TRUE">
6
+ 1. LOAD the FULL agent file from @_video_nut/agents/creative/director.md
7
+ 2. READ its entire contents - this contains the complete agent persona, menu, and instructions
8
+ 3. Execute ALL activation steps exactly as written in the agent file
9
+ 4. Follow the agent's persona and menu system precisely
10
+ 5. Stay in character throughout the session
11
+ </agent-activation>
12
+ """
@@ -0,0 +1,12 @@
1
+ description = "VideoNut Agent: eic - The Editor-in-Chief (Chief)"
2
+ prompt = """
3
+ You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
4
+
5
+ <agent-activation CRITICAL="TRUE">
6
+ 1. LOAD the FULL agent file from @_video_nut/agents/core/eic.md
7
+ 2. READ its entire contents - this contains the complete agent persona, menu, and instructions
8
+ 3. Execute ALL activation steps exactly as written in the agent file
9
+ 4. Follow the agent's persona and menu system precisely
10
+ 5. Stay in character throughout the session
11
+ </agent-activation>
12
+ """
@@ -0,0 +1,12 @@
1
+ description = "VideoNut Agent: investigator - The Investigator (Sherlock)"
2
+ prompt = """
3
+ You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
4
+
5
+ <agent-activation CRITICAL="TRUE">
6
+ 1. LOAD the FULL agent file from @_video_nut/agents/research/investigator.md
7
+ 2. READ its entire contents - this contains the complete agent persona, menu, and instructions
8
+ 3. Execute ALL activation steps exactly as written in the agent file
9
+ 4. Follow the agent's persona and menu system precisely
10
+ 5. Stay in character throughout the session
11
+ </agent-activation>
12
+ """
@@ -0,0 +1,12 @@
1
+ description = "VideoNut Agent: prompt_agent - The Prompt Agent (Catalyst)"
2
+ prompt = """
3
+ You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
4
+
5
+ <agent-activation CRITICAL="TRUE">
6
+ 1. LOAD the FULL agent file from @_video_nut/agents/core/prompt_agent.md
7
+ 2. READ its entire contents - this contains the complete agent persona, menu, and instructions
8
+ 3. Execute ALL activation steps exactly as written in the agent file
9
+ 4. Follow the agent's persona and menu system precisely
10
+ 5. Stay in character throughout the session
11
+ </agent-activation>
12
+ """
@@ -0,0 +1,12 @@
1
+ description = "VideoNut Agent: scavenger - The Scavenger (Hunter)"
2
+ prompt = """
3
+ You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
4
+
5
+ <agent-activation CRITICAL="TRUE">
6
+ 1. LOAD the FULL agent file from @_video_nut/agents/technical/scavenger.md
7
+ 2. READ its entire contents - this contains the complete agent persona, menu, and instructions
8
+ 3. Execute ALL activation steps exactly as written in the agent file
9
+ 4. Follow the agent's persona and menu system precisely
10
+ 5. Stay in character throughout the session
11
+ </agent-activation>
12
+ """
@@ -0,0 +1,12 @@
1
+ description = "VideoNut Agent: scout - Alias for Topic Scout"
2
+ prompt = """
3
+ You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
4
+
5
+ <agent-activation CRITICAL="TRUE">
6
+ 1. LOAD the FULL agent file from @_video_nut/agents/research/topic_scout.md
7
+ 2. READ its entire contents - this contains the complete agent persona, menu, and instructions
8
+ 3. Execute ALL activation steps exactly as written in the agent file
9
+ 4. Follow the agent's persona and menu system precisely
10
+ 5. Stay in character throughout the session
11
+ </agent-activation>
12
+ """
@@ -0,0 +1,12 @@
1
+ description = "VideoNut Agent: scriptwriter - The Scriptwriter (Sorkin)"
2
+ prompt = """
3
+ You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
4
+
5
+ <agent-activation CRITICAL="TRUE">
6
+ 1. LOAD the FULL agent file from @_video_nut/agents/creative/scriptwriter.md
7
+ 2. READ its entire contents - this contains the complete agent persona, menu, and instructions
8
+ 3. Execute ALL activation steps exactly as written in the agent file
9
+ 4. Follow the agent's persona and menu system precisely
10
+ 5. Stay in character throughout the session
11
+ </agent-activation>
12
+ """
@@ -0,0 +1,12 @@
1
+ description = "VideoNut Agent: seo - The SEO Optimizer (Ranker)"
2
+ prompt = """
3
+ You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
4
+
5
+ <agent-activation CRITICAL="TRUE">
6
+ 1. LOAD the FULL agent file from @_video_nut/agents/creative/seo.md
7
+ 2. READ its entire contents - this contains the complete agent persona, menu, and instructions
8
+ 3. Execute ALL activation steps exactly as written in the agent file
9
+ 4. Follow the agent's persona and menu system precisely
10
+ 5. Stay in character throughout the session
11
+ </agent-activation>
12
+ """
@@ -0,0 +1,12 @@
1
+ description = "VideoNut Agent: thumbnail - The Thumbnail Designer (Canvas)"
2
+ prompt = """
3
+ You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
4
+
5
+ <agent-activation CRITICAL="TRUE">
6
+ 1. LOAD the FULL agent file from @_video_nut/agents/creative/thumbnail.md
7
+ 2. READ its entire contents - this contains the complete agent persona, menu, and instructions
8
+ 3. Execute ALL activation steps exactly as written in the agent file
9
+ 4. Follow the agent's persona and menu system precisely
10
+ 5. Stay in character throughout the session
11
+ </agent-activation>
12
+ """
@@ -0,0 +1,12 @@
1
+ description = "VideoNut Agent: topic_scout - The Topic Scout (Scout)"
2
+ prompt = """
3
+ You must fully embody this agent's persona and follow all activation instructions exactly as specified. NEVER break character until given an exit command.
4
+
5
+ <agent-activation CRITICAL="TRUE">
6
+ 1. LOAD the FULL agent file from @_video_nut/agents/research/topic_scout.md
7
+ 2. READ its entire contents - this contains the complete agent persona, menu, and instructions
8
+ 3. Execute ALL activation steps exactly as written in the agent file
9
+ 4. Follow the agent's persona and menu system precisely
10
+ 5. Stay in character throughout the session
11
+ </agent-activation>
12
+ """
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2024 Vamshi Krishna
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,231 @@
1
+ # 🎬 VideoNut
2
+
3
+ > **AI-Powered YouTube Documentary Production Pipeline**
4
+
5
+ Transform your ideas into professional YouTube documentaries using 10 specialized AI agents that handle research, scripting, visual direction, and asset management.
6
+
7
+ <p align="center">
8
+ <img src="https://img.shields.io/badge/Agents-10-brightgreen" alt="10 Agents">
9
+ <img src="https://img.shields.io/badge/CLI-Gemini%20%7C%20Qwen%20%7C%20Claude-blue" alt="Multi-CLI Support">
10
+ <img src="https://img.shields.io/badge/License-MIT-yellow" alt="MIT License">
11
+ <img src="https://img.shields.io/npm/v/videonut" alt="NPM Version">
12
+ </p>
13
+
14
+ ---
15
+
16
+ ## 🚀 What is VideoNut?
17
+
18
+ VideoNut is a **complete video production pipeline** powered by AI agents. Each agent specializes in one part of the documentary creation process:
19
+
20
+ ```
21
+ 📡 Topic Scout → 🎯 Prompt → 🕵️ Investigator → ✍️ Scriptwriter → 🎬 Director → 🦅 Scavenger → 💾 Archivist → 🧐 EIC
22
+ ```
23
+
24
+ **No more context switching.** Run one command, get a complete video plan with:
25
+ - ✅ Researched facts with sources
26
+ - ✅ Professional script (word-count matched to target duration)
27
+ - ✅ Visual directions with timestamps
28
+ - ✅ Downloaded assets ready for editing
29
+
30
+ ---
31
+
32
+ ## 📦 Installation
33
+
34
+ ### Option 1: NPX (Recommended - No Install)
35
+ ```bash
36
+ npx videonut init
37
+ ```
38
+
39
+ ### Option 2: NPM Global Install
40
+ ```bash
41
+ npm install -g videonut
42
+ videonut init
43
+ ```
44
+
45
+ ### Option 3: Clone Repository
46
+ ```bash
47
+ git clone https://github.com/vamshikrishna131437/videonut.git
48
+ cd videonut
49
+ npm install
50
+ ```
51
+
52
+ ---
53
+
54
+ ## 🛠️ Requirements
55
+
56
+ - **Node.js** 16+
57
+ - **One of these AI CLI tools:**
58
+ - [Gemini CLI](https://github.com/google-gemini/gemini-cli) - `npm install -g gemini-cli`
59
+ - [Qwen CLI](https://github.com/QwenLM/qwen-cli)
60
+ - [Claude Code](https://claude.ai/code)
61
+
62
+ ---
63
+
64
+ ## 🎯 Quick Start
65
+
66
+ ### 1. Start with Topic Scout
67
+ ```bash
68
+ # In your terminal with Gemini CLI
69
+ /topic_scout
70
+ # or
71
+ /scout
72
+ ```
73
+
74
+ ### 2. Follow the Agent Pipeline
75
+ | Step | Agent | Command | What It Does |
76
+ |------|-------|---------|--------------|
77
+ | 1 | 📡 Topic Scout | `/topic_scout` | Find trending topics, create project |
78
+ | 2 | 🎯 Prompt | `/prompt` | Generate research prompts |
79
+ | 3 | 🕵️ Investigator | `/investigator` | Deep research with sources |
80
+ | 4 | ✍️ Scriptwriter | `/scriptwriter` | Write the narration script |
81
+ | 5 | 🎬 Director | `/director` | Create visual directions |
82
+ | 6 | 🦅 Scavenger | `/scavenger` | Find and verify asset URLs |
83
+ | 7 | 💾 Archivist | `/archivist` | Download all assets |
84
+ | 8 | 🧐 EIC | `/eic` | Final review and approval |
85
+ | 9 | 🎨 Thumbnail | `/thumbnail` | Generate thumbnail prompts |
86
+ | 10 | 🔍 SEO | `/seo` | Optimize for YouTube search |
87
+
88
+ ---
89
+
90
+ ## 🤖 Meet the Agents
91
+
92
+ ### Research Team
93
+ | Agent | Persona | Specialty |
94
+ |-------|---------|-----------|
95
+ | 📡 **Scout** | Trend Hunter | Finds viral-worthy topics, checks YouTube competition |
96
+ | 🎯 **Prompt** | Research Architect | Transforms topics into focused research questions |
97
+ | 🕵️ **Sherlock** | Investigative Journalist | Deep research with YouTube video evidence |
98
+
99
+ ### Creative Team
100
+ | Agent | Persona | Specialty |
101
+ |-------|---------|-----------|
102
+ | ✍️ **Sorkin** | Narrative Architect | Word-count matched scripts with emotional hooks |
103
+ | 🎬 **Spielberg** | Documentary Filmmaker | Visual directions with source links |
104
+ | 🎨 **Canvas** | Thumbnail Designer | Click-worthy thumbnail AI prompts |
105
+ | 🔍 **Ranker** | SEO Optimizer | YouTube-optimized titles and descriptions |
106
+
107
+ ### Technical Team
108
+ | Agent | Persona | Specialty |
109
+ |-------|---------|-----------|
110
+ | 🦅 **Hunter** | Asset Finder | URL verification, timestamp extraction |
111
+ | 💾 **Vault** | Digital Librarian | Downloads clips, screenshots, transcripts |
112
+
113
+ ### Quality Control
114
+ | Agent | Persona | Specialty |
115
+ |-------|---------|-----------|
116
+ | 🧐 **Chief** | Editor-in-Chief | 10-phase deep audit, catches every mistake |
117
+
118
+ ---
119
+
120
+ ## 📁 Project Structure
121
+
122
+ ```
123
+ your-project/
124
+ ├── topic_brief.md # Topic Scout output
125
+ ├── prompt.md # Research prompts
126
+ ├── truth_dossier.md # Investigator findings
127
+ ├── voice_script.md # Narration script
128
+ ├── narrative_script.md # Full narrative
129
+ ├── master_script.md # Script + Visual directions
130
+ ├── video_direction.md # Visual-only guide
131
+ ├── asset_manifest.md # All assets with URLs
132
+ ├── assets/ # Downloaded files
133
+ │ ├── 001_intro.mp4
134
+ │ ├── 002_chart.png
135
+ │ └── ...
136
+ ├── correction_log.md # EIC feedback (if any)
137
+ └── review_report.md # Final review
138
+ ```
139
+
140
+ ---
141
+
142
+ ## 🔧 Configuration
143
+
144
+ Edit `config.yaml` to customize:
145
+
146
+ ```yaml
147
+ # Video Production Settings
148
+ target_duration: 30 # Minutes
149
+ video_format: "investigative" # investigative, explainer, documentary
150
+
151
+ # Localization
152
+ audio_language: "English"
153
+ scope: "national" # international, national, regional
154
+ country: "India"
155
+ region: "Telangana"
156
+
157
+ # Focus
158
+ industry_tag: "political" # political, finance, crime, tech, etc.
159
+ ```
160
+
161
+ ---
162
+
163
+ ## 🌟 Features
164
+
165
+ ### ✅ Multi-CLI Support
166
+ Works with Gemini CLI, Qwen CLI, and Claude Code out of the box.
167
+
168
+ ### ✅ YouTube Evidence
169
+ Automatically extracts timestamps from YouTube videos using caption analysis.
170
+
171
+ ### ✅ Smart Asset Management
172
+ - Downloads only the relevant 30-second clips, not full videos
173
+ - Screenshots articles with highlighted quotes
174
+ - PDF page extraction with keyword search
175
+
176
+ ### ✅ Quality Control
177
+ EIC agent performs 10-phase deep audit:
178
+ - URL verification
179
+ - Timestamp validation
180
+ - Cross-reference checks
181
+ - Word count compliance
182
+
183
+ ### ✅ Correction Workflow
184
+ If mistakes are found, each agent has a `[CM] Correct Mistakes` option to fix issues and re-run.
185
+
186
+ ---
187
+
188
+ ## 🤝 Contributing
189
+
190
+ We welcome contributions! Here's how:
191
+
192
+ 1. Fork the repository
193
+ 2. Create your feature branch (`git checkout -b feature/amazing-feature`)
194
+ 3. Commit your changes (`git commit -m 'Add amazing feature'`)
195
+ 4. Push to the branch (`git push origin feature/amazing-feature`)
196
+ 5. Open a Pull Request
197
+
198
+ ### Areas We Need Help
199
+ - 🌐 Translations (agents in other languages)
200
+ - 🎨 UI/Dashboard for non-CLI users
201
+ - 🔌 Integration with video editing software
202
+ - 📊 Analytics and reporting
203
+
204
+ ---
205
+
206
+ ## 📝 License
207
+
208
+ MIT License - see [LICENSE](LICENSE) for details.
209
+
210
+ ---
211
+
212
+ ## 👤 Author
213
+
214
+ **Vamshi Krishna**
215
+ - Email: vamshikrishna131437@gmail.com
216
+ - GitHub: [@vamshikrishna131437](https://github.com/vamshikrishna131437)
217
+
218
+ ---
219
+
220
+ ## 🙏 Acknowledgments
221
+
222
+ Built for the AI agent community. Special thanks to:
223
+ - Google Gemini CLI team
224
+ - Qwen team
225
+ - Anthropic Claude team
226
+
227
+ ---
228
+
229
+ <p align="center">
230
+ <b>⭐ Star this repo if you find it useful!</b>
231
+ </p>
@@ -0,0 +1,278 @@
1
+ #!/usr/bin/env node
2
+
3
+ /**
4
+ * VideoNut - Complete Installation Script
5
+ *
6
+ * This script installs VideoNut and ALL its requirements:
7
+ * 1. Copies all VideoNut files to current directory
8
+ * 2. Creates Projects folder
9
+ * 3. Installs Python (if needed)
10
+ * 4. Runs pip install -r requirements.txt
11
+ * 5. Downloads ffmpeg and ffprobe
12
+ * 6. Installs chosen CLI (Gemini/Qwen/Claude)
13
+ */
14
+
15
+ const { execSync, spawnSync } = require('child_process');
16
+ const path = require('path');
17
+ const fs = require('fs');
18
+ const https = require('https');
19
+ const readline = require('readline');
20
+
21
+ // Colors for console
22
+ const colors = {
23
+ reset: '\x1b[0m',
24
+ bright: '\x1b[1m',
25
+ green: '\x1b[32m',
26
+ yellow: '\x1b[33m',
27
+ blue: '\x1b[34m',
28
+ red: '\x1b[31m',
29
+ cyan: '\x1b[36m'
30
+ };
31
+
32
+ function log(msg, color = 'reset') {
33
+ console.log(`${colors[color]}${msg}${colors.reset}`);
34
+ }
35
+
36
+ function header(msg) {
37
+ console.log('\n' + '═'.repeat(60));
38
+ log(`🎬 ${msg}`, 'bright');
39
+ console.log('═'.repeat(60) + '\n');
40
+ }
41
+
42
+ function success(msg) { log(`✅ ${msg}`, 'green'); }
43
+ function warning(msg) { log(`⚠️ ${msg}`, 'yellow'); }
44
+ function error(msg) { log(`❌ ${msg}`, 'red'); }
45
+ function info(msg) { log(`ℹ️ ${msg}`, 'cyan'); }
46
+
47
+ // Check if command exists
48
+ function commandExists(cmd) {
49
+ try {
50
+ const isWindows = process.platform === 'win32';
51
+ const checkCmd = isWindows ? `where ${cmd}` : `which ${cmd}`;
52
+ execSync(checkCmd, { stdio: 'pipe' });
53
+ return true;
54
+ } catch {
55
+ return false;
56
+ }
57
+ }
58
+
59
+ // Get user input
60
+ function ask(question) {
61
+ const rl = readline.createInterface({
62
+ input: process.stdin,
63
+ output: process.stdout
64
+ });
65
+
66
+ return new Promise(resolve => {
67
+ rl.question(question, answer => {
68
+ rl.close();
69
+ resolve(answer.trim());
70
+ });
71
+ });
72
+ }
73
+
74
+ // Copy directory recursively
75
+ function copyDir(src, dest) {
76
+ fs.mkdirSync(dest, { recursive: true });
77
+ const entries = fs.readdirSync(src, { withFileTypes: true });
78
+
79
+ for (const entry of entries) {
80
+ const srcPath = path.join(src, entry.name);
81
+ const destPath = path.join(dest, entry.name);
82
+
83
+ if (entry.isDirectory()) {
84
+ // Skip certain directories
85
+ if (['node_modules', '.git', 'Projects', 'output', 'assets'].includes(entry.name)) {
86
+ continue;
87
+ }
88
+ copyDir(srcPath, destPath);
89
+ } else {
90
+ fs.copyFileSync(srcPath, destPath);
91
+ }
92
+ }
93
+ }
94
+
95
+ // Download file
96
+ function downloadFile(url, dest) {
97
+ return new Promise((resolve, reject) => {
98
+ const file = fs.createWriteStream(dest);
99
+ https.get(url, response => {
100
+ if (response.statusCode === 302 || response.statusCode === 301) {
101
+ // Follow redirect
102
+ https.get(response.headers.location, res => {
103
+ res.pipe(file);
104
+ file.on('finish', () => {
105
+ file.close();
106
+ resolve();
107
+ });
108
+ });
109
+ } else {
110
+ response.pipe(file);
111
+ file.on('finish', () => {
112
+ file.close();
113
+ resolve();
114
+ });
115
+ }
116
+ }).on('error', err => {
117
+ fs.unlink(dest, () => { });
118
+ reject(err);
119
+ });
120
+ });
121
+ }
122
+
123
+ async function main() {
124
+ const args = process.argv.slice(2);
125
+ const command = args[0];
126
+
127
+ header('VideoNut - AI-Powered Documentary Pipeline');
128
+
129
+ if (command === 'init') {
130
+ await runInit();
131
+ } else {
132
+ showHelp();
133
+ }
134
+ }
135
+
136
+ async function runInit() {
137
+ const targetDir = process.cwd();
138
+
139
+ info(`Installing VideoNut in: ${targetDir}\n`);
140
+
141
+ // Step 1: Copy VideoNut files
142
+ header('Step 1: Copying VideoNut Files');
143
+
144
+ const sourceDir = path.join(__dirname, '..');
145
+ const folders = ['_video_nut', '.gemini', '.qwen', '.claude', '.antigravity'];
146
+
147
+ for (const folder of folders) {
148
+ const src = path.join(sourceDir, folder);
149
+ const dest = path.join(targetDir, folder);
150
+
151
+ if (fs.existsSync(src)) {
152
+ copyDir(src, dest);
153
+ success(`Copied ${folder}/`);
154
+ }
155
+ }
156
+
157
+ // Create Projects folder
158
+ const projectsDir = path.join(targetDir, 'Projects');
159
+ fs.mkdirSync(projectsDir, { recursive: true });
160
+ success('Created Projects/ folder');
161
+
162
+ // Step 2: Check Python
163
+ header('Step 2: Checking Python');
164
+
165
+ const hasPython = commandExists('python') || commandExists('python3');
166
+
167
+ if (hasPython) {
168
+ success('Python is installed');
169
+
170
+ // Install requirements
171
+ info('Installing Python requirements...');
172
+ const reqPath = path.join(targetDir, '_video_nut', 'requirements.txt');
173
+
174
+ if (fs.existsSync(reqPath)) {
175
+ try {
176
+ const pythonCmd = commandExists('python3') ? 'python3' : 'python';
177
+ execSync(`${pythonCmd} -m pip install -r "${reqPath}"`, { stdio: 'inherit' });
178
+ success('Python requirements installed');
179
+ } catch (e) {
180
+ warning('Could not install Python requirements automatically');
181
+ info(`Please run: pip install -r ${reqPath}`);
182
+ }
183
+ }
184
+ } else {
185
+ warning('Python not found!');
186
+ console.log('\nPlease install Python manually:');
187
+ console.log(' Windows: https://www.python.org/downloads/');
188
+ console.log(' Mac: brew install python3');
189
+ console.log(' Linux: sudo apt install python3 python3-pip');
190
+ console.log('\nAfter installing Python, run:');
191
+ console.log(` pip install -r ${path.join(targetDir, '_video_nut', 'requirements.txt')}`);
192
+ }
193
+
194
+ // Step 3: Check FFmpeg
195
+ header('Step 3: Checking FFmpeg');
196
+
197
+ const hasFFmpeg = commandExists('ffmpeg');
198
+ const hasFFprobe = commandExists('ffprobe');
199
+
200
+ if (hasFFmpeg && hasFFprobe) {
201
+ success('FFmpeg and FFprobe are installed');
202
+ } else {
203
+ warning('FFmpeg/FFprobe not found!');
204
+ console.log('\nPlease install FFmpeg:');
205
+ console.log(' Windows: https://www.gyan.dev/ffmpeg/builds/');
206
+ console.log(' Download ffmpeg-release-essentials.zip');
207
+ console.log(' Extract and add bin/ folder to PATH');
208
+ console.log(' Mac: brew install ffmpeg');
209
+ console.log(' Linux: sudo apt install ffmpeg');
210
+
211
+ // Create tools/bin folder for manual installation
212
+ const binDir = path.join(targetDir, '_video_nut', 'tools', 'bin');
213
+ fs.mkdirSync(binDir, { recursive: true });
214
+ info(`Or place ffmpeg.exe and ffprobe.exe in: ${binDir}`);
215
+ }
216
+
217
+ // Step 4: Check CLI tools
218
+ header('Step 4: Checking AI CLI Tools');
219
+
220
+ const hasGemini = commandExists('gemini');
221
+ const hasQwen = commandExists('qwen');
222
+ const hasClaude = commandExists('claude');
223
+
224
+ console.log('Detected CLIs:');
225
+ console.log(` Gemini CLI: ${hasGemini ? '✅ Installed' : '❌ Not found'}`);
226
+ console.log(` Qwen CLI: ${hasQwen ? '✅ Installed' : '❌ Not found'}`);
227
+ console.log(` Claude: ${hasClaude ? '✅ Installed' : '❌ Not found'}`);
228
+
229
+ if (!hasGemini && !hasQwen && !hasClaude) {
230
+ warning('\nNo AI CLI found! You need at least one.');
231
+ console.log('\nInstall one of these:');
232
+ console.log(' Gemini CLI: npm install -g @anthropic-ai/claude-cli');
233
+ console.log(' (Follow official documentation for each CLI)');
234
+ }
235
+
236
+ // Final summary
237
+ header('Installation Complete!');
238
+
239
+ console.log('📁 Folder Structure:');
240
+ console.log(` ${targetDir}/`);
241
+ console.log(' ├── _video_nut/ (agents & tools)');
242
+ console.log(' ├── .gemini/ (Gemini CLI commands)');
243
+ console.log(' ├── .qwen/ (Qwen CLI commands)');
244
+ console.log(' ├── .claude/ (Claude CLI commands)');
245
+ console.log(' └── Projects/ (your video projects)');
246
+
247
+ console.log('\n🚀 Quick Start:');
248
+ console.log(' 1. Open your AI CLI (e.g., gemini)');
249
+ console.log(' 2. Run: /topic_scout');
250
+ console.log(' 3. Follow the agent pipeline!');
251
+
252
+ console.log('\n📖 Documentation:');
253
+ console.log(' https://github.com/vamshikrishna131437/videonut');
254
+
255
+ console.log('\n' + '═'.repeat(60));
256
+ log('🎬 Happy Documentary Making!', 'bright');
257
+ console.log('═'.repeat(60) + '\n');
258
+ }
259
+
260
+ function showHelp() {
261
+ console.log('Usage: npx videonut <command>\n');
262
+ console.log('Commands:');
263
+ console.log(' init Install VideoNut in current directory');
264
+ console.log('');
265
+ console.log('This will install:');
266
+ console.log(' • VideoNut agents and tools');
267
+ console.log(' • CLI command files (.gemini, .qwen, .claude)');
268
+ console.log(' • Python requirements');
269
+ console.log(' • FFmpeg check');
270
+ console.log('');
271
+ console.log('Example:');
272
+ console.log(' mkdir my-youtube-project');
273
+ console.log(' cd my-youtube-project');
274
+ console.log(' npx videonut init');
275
+ console.log('');
276
+ }
277
+
278
+ main().catch(console.error);
package/package.json ADDED
@@ -0,0 +1,47 @@
1
+ {
2
+ "name": "videonut",
3
+ "version": "1.0.0",
4
+ "description": "AI-powered YouTube documentary production pipeline with 10 specialized agents for research, scripting, and asset management",
5
+ "keywords": [
6
+ "youtube",
7
+ "documentary",
8
+ "ai-agents",
9
+ "video-production",
10
+ "gemini-cli",
11
+ "qwen",
12
+ "claude",
13
+ "content-creation",
14
+ "scriptwriting",
15
+ "research",
16
+ "automation"
17
+ ],
18
+ "homepage": "https://github.com/konda-vamshi-krishna/videonut",
19
+ "bugs": {
20
+ "url": "https://github.com/konda-vamshi-krishna/videonut/issues"
21
+ },
22
+ "license": "MIT",
23
+ "author": {
24
+ "name": "Vamshi Krishna",
25
+ "email": "vamshikrishna131437@gmail.com"
26
+ },
27
+ "repository": {
28
+ "type": "git",
29
+ "url": "git+https://github.com/konda-vamshi-krishna/videonut.git"
30
+ },
31
+ "bin": {
32
+ "videonut": "./bin/videonut.js"
33
+ },
34
+ "files": [
35
+ "_video_nut/",
36
+ ".gemini/",
37
+ ".qwen/",
38
+ ".claude/",
39
+ ".antigravity/",
40
+ "bin/",
41
+ "README.md",
42
+ "LICENSE"
43
+ ],
44
+ "engines": {
45
+ "node": ">=16.0.0"
46
+ }
47
+ }