makefx 0.1.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 (3) hide show
  1. package/README.md +185 -0
  2. package/dist/cli/makefx.mjs +24223 -0
  3. package/package.json +111 -0
package/README.md ADDED
@@ -0,0 +1,185 @@
1
+ # Make Effects
2
+
3
+ Make Effects is an AI media production workspace at
4
+ [makefx.app](https://makefx.app) where people and agents can generate, refine,
5
+ track, and hand off production assets across images, audio, and video.
6
+
7
+ The hosted app is the source of truth for spaces, assets, variants, prompts,
8
+ recipes, lineage, collaboration state, and stored media. The `makefx` CLI lets
9
+ local agents, scripts, and developers drive that same production graph from the
10
+ command line: start generation jobs, watch progress, download outputs, inspect
11
+ results, curate variants, and export production handoff data.
12
+
13
+ ## What You Can Build With It
14
+
15
+ - Generate images, audio, and video through website-backed jobs.
16
+ - Track every result as an asset variant with prompt, provider metadata, and
17
+ lineage.
18
+ - Refine an existing variant or derive new assets from references.
19
+ - Upload local media into a collaborative space so generated and hand-made
20
+ assets live together.
21
+ - Let automation agents use the CLI as a stable control surface instead of
22
+ touching database or storage internals.
23
+ - Export production records for downstream render, game, or editorial tools.
24
+
25
+ ## Features
26
+
27
+ - **Authentication**: Google OAuth with JWT tokens, OIDC-compliant
28
+ - **Dual-Worker Architecture**: Separate workers for HTTP/frontend and media generation
29
+ - **React 19 Frontend**: Vite, TanStack Router, Zustand, CSS Modules
30
+ - **D1 Database**: SQLite with migrations and Kysely query builder
31
+ - **R2 Media Storage**: Durable media artifacts for generated and uploaded files
32
+ - **Dependency Injection**: InversifyJS for clean architecture
33
+ - **Make Effects CLI**: Command-line access through the `makefx` package and command
34
+ - **TypeScript**: End-to-end type safety
35
+
36
+ ## CLI Quick Start
37
+
38
+ Install the CLI from npm:
39
+
40
+ ```bash
41
+ npm install -g makefx
42
+ ```
43
+
44
+ Authenticate with the hosted app:
45
+
46
+ ```bash
47
+ makefx login
48
+ ```
49
+
50
+ Create a space or bind an existing website space to the current directory:
51
+
52
+ ```bash
53
+ makefx spaces create "My Game Assets" --init
54
+ makefx init --space YOUR_SPACE_ID
55
+ ```
56
+
57
+ Generate media and download completed outputs:
58
+
59
+ ```bash
60
+ makefx generate "A cozy pixel-art market background" \
61
+ --name "Market Background" \
62
+ --type scene \
63
+ -o art/market.png
64
+
65
+ makefx audio sfx generate "A crisp magical item pickup" \
66
+ --name "Item Pickup" \
67
+ -o audio/item-pickup.wav
68
+
69
+ makefx video generate "A looping idle animation for a tiny robot" \
70
+ --name "Robot Idle" \
71
+ --type animation \
72
+ --no-audio \
73
+ -o video/robot-idle.mp4
74
+ ```
75
+
76
+ Inspect and reuse tracked results:
77
+
78
+ ```bash
79
+ makefx assets
80
+ makefx assets show ASSET_ID --json
81
+ makefx assets download VARIANT_ID -o references/variant.png
82
+ makefx listen --space YOUR_SPACE_ID
83
+ makefx rotation --variant VARIANT_ID --config 8-directional
84
+ makefx tileset "cohesive grass, path, and stone terrain tiles" --type terrain --grid 3x3
85
+ ```
86
+
87
+ Use run manifests for debugging agent workflows:
88
+
89
+ ```bash
90
+ makefx runs --debug
91
+ makefx runs show --latest --debug --json
92
+ ```
93
+
94
+ The CLI defaults to production at `https://makefx.app`. Use `--env stage` for
95
+ staging or `--local` for a local development server.
96
+
97
+ ## CLI Commands
98
+
99
+ | Command | Description |
100
+ |---------|-------------|
101
+ | `makefx login` | Authenticate with makefx.app |
102
+ | `makefx spaces` | List, view, or create collaborative spaces |
103
+ | `makefx init` | Bind the current directory to a website space |
104
+ | `makefx generate` | Generate a new image asset |
105
+ | `makefx refine` | Refine an existing image variant |
106
+ | `makefx derive` | Create a new image asset from variant IDs or local refs |
107
+ | `makefx batch` | Generate multiple images and write a debug run manifest |
108
+ | `makefx audio` | Generate speech, dialogue, music, or sound effects |
109
+ | `makefx video` | Generate, refine, or derive video assets |
110
+ | `makefx upload` | Upload local image, audio, or video files |
111
+ | `makefx assets` | List, show, download, rename, delete, and set active assets |
112
+ | `makefx variants` | Retry, star, rate, or delete variants |
113
+ | `makefx rotation` | Generate and monitor rotation views from a completed image variant |
114
+ | `makefx tileset` | Generate and monitor consistent tile sets |
115
+ | `makefx listen` | Stream real-time space events |
116
+ | `makefx productions` | Place, list, and export production records |
117
+ | `makefx runs` | Inspect debug-only local generation manifests |
118
+
119
+ See [docs/cli.md](./docs/cli.md) and
120
+ [docs/cli-generation.md](./docs/cli-generation.md) for the full command guide.
121
+
122
+ ## Local Development
123
+
124
+ ```bash
125
+ # Install dependencies
126
+ pnpm install
127
+
128
+ # Set up environment
129
+ cp .env.example .env
130
+ # Edit .env with your Google OAuth credentials
131
+
132
+ # Initialize local database
133
+ pnpm run db:migrate
134
+
135
+ # Start development
136
+ pnpm run dev
137
+ ```
138
+
139
+ Access at http://localhost:3001/
140
+
141
+ ## Developer Commands
142
+
143
+ | Command | Description |
144
+ |---------|-------------|
145
+ | `pnpm run dev` | Start local development (frontend + worker) |
146
+ | `pnpm run build:cli` | Build `dist/cli/makefx.mjs` |
147
+ | `pnpm run cli:dev -- --help` | Run the CLI from TypeScript sources |
148
+ | `pnpm run db:migrate` | Apply database migrations locally |
149
+ | `pnpm test` | Run tests |
150
+ | `pnpm run typecheck` | TypeScript type checking |
151
+ | `pnpm run lint` | ESLint |
152
+ | `pnpm run deploy:stage` | Deploy to stage environment |
153
+ | `pnpm run deploy:production` | Deploy to production |
154
+
155
+ ## Project Structure
156
+
157
+ ```
158
+ src/
159
+ ├── backend/ # API routes, services, middleware
160
+ ├── frontend/ # React application
161
+ ├── dao/ # Data access layer
162
+ ├── db/migrations/ # SQL migrations
163
+ ├── cli/ # CLI tool
164
+ └── worker/ # Cloudflare Worker entry points
165
+ ```
166
+
167
+ ## Documentation
168
+
169
+ - [docs/cli.md](./docs/cli.md) - complete CLI reference
170
+ - [docs/cli-generation.md](./docs/cli-generation.md) - agent-oriented media generation flows
171
+ - [docs/architecture.md](./docs/architecture.md) - system architecture
172
+ - [PRD.md](./PRD.md) - product requirements and core concepts
173
+
174
+ ## Tech Stack
175
+
176
+ - **Runtime**: Cloudflare Workers
177
+ - **Database**: Cloudflare D1 (SQLite)
178
+ - **Frontend**: React 19, Vite, Zustand
179
+ - **Backend**: Hono, InversifyJS, Kysely
180
+ - **Auth**: Google OAuth, JWT (jose)
181
+ - **Testing**: Node.js test runner
182
+
183
+ ## License
184
+
185
+ MIT