feedeas 0.1.0-alpha.2 → 0.1.0-alpha.20

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.
package/.env.example ADDED
@@ -0,0 +1,22 @@
1
+ # Feedeas Environment Variables
2
+
3
+ # Gemini API Key (for 'imagine' command)
4
+ # Get your API key at: https://aistudio.google.com/app/apikey
5
+ GEMINI_API_KEY=your-gemini-api-key-here
6
+
7
+ # Optional (maintainer build-time): embed telemetry key into dist/cli build.
8
+ # This lets telemetry work for end users without reading runner env vars.
9
+ # FEDEAS_POSTHOG_BUILD_KEY=your-posthog-project-key-here
10
+
11
+ # Optional: Disable telemetry even when build key is embedded
12
+ # FEDEAS_TELEMETRY_DISABLED=true
13
+
14
+ # Setup Instructions:
15
+ # 1. Copy this file to .env
16
+ # 2. Replace the placeholder value with your actual Gemini API key
17
+ # 3. The CLI will automatically load this value
18
+ #
19
+ # Example:
20
+ # cp .env.example .env
21
+ # # Edit .env with your API key
22
+ # feedeas imagine "a beautiful sunset"
package/README.md CHANGED
@@ -1,15 +1,205 @@
1
- # feedeas
1
+ # Feedeas
2
2
 
3
- To install dependencies:
3
+ **Feedeas** is an agentic video creation tool that allows you to programmatically create videos using JSON scene definitions. Perfect for automated content generation, social media posts, and AI-driven video workflows.
4
+
5
+ ## Features
6
+
7
+ - 🎬 **Programmatic Video Creation** - Define scenes using simple JSON
8
+ - 🎨 **AI Image Generation** - Built-in support for Google Imagen AI
9
+ - 🖼️ **Rich Media Support** - Text, images, and audio with transitions
10
+ - 🤖 **Agent-Friendly** - Designed for AI agents and automation
11
+ - 🎯 **Interactive Editor** - Web-based UI for visual editing
12
+ - ⚡ **Fast Rendering** - Powered by Playwright and FFmpeg
13
+
14
+ ## Quick Start
15
+
16
+ ### Installation
4
17
 
5
18
  ```bash
6
19
  bun install
20
+ bun run build
21
+ ```
22
+
23
+ ### Basic Usage
24
+
25
+ ```bash
26
+ # Create a scene template
27
+ feedeas example basic > scene.json
28
+
29
+ # Validate the scene
30
+ feedeas validate scene.json
31
+
32
+ # Open interactive editor
33
+ feedeas edit
34
+
35
+ # Render to video
36
+ feedeas record --project scene.json
37
+ ```
38
+
39
+ ## Commands
40
+
41
+ ### Video Creation
42
+
43
+ - `feedeas edit [dir]` - Start the interactive editor
44
+ - `feedeas taste [dir]` - Start the taste workspace UI
45
+ - `feedeas taste generate` - Generate fresh ideas from taste + memory
46
+ - `feedeas taste memory query` - Query structured taste memory entries
47
+ - `feedeas record` - Render scene to video
48
+ - `feedeas snap <time>` - Take a snapshot at specific time
49
+ - `feedeas validate <file>` - Validate scene JSON
50
+
51
+ ### AI Image Generation
52
+
53
+ Generate images using Google's Imagen AI (via Gemini API):
54
+
55
+ ```bash
56
+ # Setup (one-time): Get API key from https://aistudio.google.com/app/apikey
57
+ export GEMINI_API_KEY="your-api-key"
58
+
59
+ # Basic usage - saves to assets/mountain.png
60
+ feedeas imagine "A serene mountain landscape"
61
+
62
+ # Reel-ready portrait generation (recommended for 9:16 videos)
63
+ feedeas imagine "Electric SUV charging at dusk" --aspect-ratio 9:16 --image-size 2K -o ev_portrait.png
64
+
65
+ # Multiple images - saves to assets/pattern_1.png, pattern_2.png, etc.
66
+ feedeas imagine "Abstract art" -n 4 -o pattern.png
67
+ ```
68
+
69
+ **Images save to `./assets/` by default** - perfect for video workflows!
70
+
71
+ `imagine` defaults to `--aspect-ratio auto`:
72
+ - If `scene_1.json` exists, it infers from `meta.width:meta.height`
73
+ - Otherwise it falls back to `9:16`
74
+
75
+ **[📖 Full Imagine Command Documentation](./docs/IMAGINE_COMMAND.md)**
76
+
77
+ ### AI BGM Generation (Contract Draft)
78
+
79
+ Gemini-first command contract and backend request types for `feedeas bgm` are documented here:
80
+
81
+ **[📖 BGM Command Contract](./docs/BGM_COMMAND.md)**
82
+
83
+ Basic usage:
84
+
85
+ ```bash
86
+ # Generate 20s background music into assets/bgm.mp3
87
+ feedeas bgm "ambient cinematic underscore, no vocals" -d 20 -o bgm.mp3
88
+ ```
89
+
90
+ ### Scene Management
91
+
92
+ - `feedeas example [type]` - Generate example scenes
93
+ - `feedeas set-scene <file>` - Create/update scene programmatically
94
+ - `feedeas inspect` - Inspect project assets
95
+ - `feedeas schema` - Show entity schema information
96
+
97
+ ## Project Structure
98
+
99
+ ```
100
+ your-project/
101
+ ├── scene_1.json # Scene definition
102
+ ├── assets/ # Images, audio files
103
+ │ ├── background.png
104
+ │ ├── music.mp3
105
+ │ └── ...
106
+ └── output.mp4 # Generated video
107
+ ```
108
+
109
+ ## Scene File Format
110
+
111
+ ```json
112
+ {
113
+ "meta": {
114
+ "width": 1080,
115
+ "height": 1350,
116
+ "duration": 5
117
+ },
118
+ "entities": [
119
+ {
120
+ "id": "text-1",
121
+ "type": "text",
122
+ "text": "Hello, World!",
123
+ "startTime": 0,
124
+ "duration": 5,
125
+ "x": 100,
126
+ "y": 500,
127
+ "fontSize": 80,
128
+ "color": "#ffffff",
129
+ "enter": { "type": "fade", "duration": 0.5 }
130
+ }
131
+ ]
132
+ }
7
133
  ```
8
134
 
9
- To run:
135
+ For `image` entities, add `"fit": "smart"` to reduce accidental cropping on mismatched aspect ratios.
136
+
137
+ ## Taste & Automation
138
+
139
+ Use the Taste workspace to continuously improve idea quality and freshness:
10
140
 
11
141
  ```bash
12
- bun run index.ts
142
+ # Launch taste UI at /taste
143
+ feedeas taste
144
+
145
+ # Generate fresh ideas from taste/taste.md + taste/memory.md
146
+ feedeas taste generate -n 3 --mode sequential --json
147
+
148
+ # Save reviewer feedback into taste/memory.md
149
+ feedeas taste feedback --decision accepted --title "Cinematic forest reel" --tags forest,cinematic
150
+
151
+ # Create pending taste suggestions from memory patterns
152
+ feedeas taste suggest --json
153
+
154
+ # Apply a suggestion to taste/taste.md
155
+ feedeas taste apply --suggestion sug_2026-01-01_123456
156
+
157
+ # Query memory history
158
+ feedeas taste memory query --tag podcast --limit 10
13
159
  ```
14
160
 
15
- This project was created using `bun init` in bun v1.2.2. [Bun](https://bun.sh) is a fast all-in-one JavaScript runtime.
161
+ Default files:
162
+ - `taste/taste.md` - Prompt blueprint (brand identity, focus areas, negatives, instructions)
163
+ - `taste/memory.md` - Structured `taste-memory` blocks used for freshness checks
164
+ - `taste/suggestions.md` - Pending/applied/rejected taste update proposals
165
+
166
+ CI/automation flow:
167
+ 1. Prepare `GEMINI_API_KEY`.
168
+ 2. Run `feedeas taste generate --taste-file taste/taste.md --memory-file taste/memory.md -n 1 --mode sequential --save --json`.
169
+ 3. Append review outcomes with `feedeas taste feedback ...`.
170
+ 4. Run `feedeas taste suggest` and review proposals.
171
+ 5. Apply approved proposals using `feedeas taste apply --suggestion <id>`.
172
+
173
+ ## Documentation
174
+
175
+ - [Imagine Command Guide](./docs/IMAGINE_COMMAND.md) - AI image generation
176
+ - [Taste Automation Guide](./docs/TASTE_AUTOMATION.md) - GitHub Actions + Docker setup
177
+ - Run `feedeas --help` for full CLI documentation
178
+ - Run `feedeas <command> --help` for command-specific help
179
+
180
+ ## Development
181
+
182
+ ```bash
183
+ # Run in development mode
184
+ bun run dev
185
+
186
+ # Build CLI and UI
187
+ bun run build
188
+
189
+ # Optional: embed PostHog key at build-time into CLI bundle
190
+ FEDEAS_POSTHOG_BUILD_KEY=phc_xxx bun run build
191
+
192
+ # Run CLI directly
193
+ bun run feedeas
194
+ ```
195
+
196
+ ## Requirements
197
+
198
+ - [Bun](https://bun.sh) v1.2.2 or later
199
+ - Node.js 20.19+ or 22.12+ (for Vite)
200
+ - FFmpeg (for video rendering)
201
+ - Gemini API key (for AI image generation) - Get free at https://aistudio.google.com/app/apikey
202
+
203
+ ## License
204
+
205
+ This project was created using `bun init` in bun v1.2.2.
package/bin/feedeas.js ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+
3
+ import '../dist/cli/index.js';