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.
- package/README.md +185 -0
- package/dist/cli/makefx.mjs +24223 -0
- 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
|