ui-syncup 0.2.4 → 0.3.10

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 CHANGED
@@ -1,84 +1,93 @@
1
- # ui-syncup
1
+ # ui-syncup CLI
2
2
 
3
- CLI for managing self-hosted [UI SyncUp](https://github.com/BYKHD/ui-syncup) instances.
4
-
5
- UI SyncUp is a visual feedback and issue tracking platform for design-to-development collaboration — pin annotations on mockups, create issues from visual feedback, and track them through a structured workflow.
3
+ Self-host [UI SyncUp](https://github.com/BYKHD/ui-syncup) with a single command. No infrastructure knowledge required.
6
4
 
7
5
  ## Requirements
8
6
 
9
- - **Node.js**20
10
- - **Docker** required by `ui-syncup up` (Supabase runs inside Docker)
11
- - **Bun** — required to run the full application after `init`
12
- - **Supabase CLI** — installed automatically if missing, or install manually: `brew install supabase/tap/supabase`
7
+ - [Docker](https://docs.docker.com/get-docker/)24
8
+ - Node.js 20 (only needed to run the CLI — the app itself runs in Docker)
13
9
 
14
- ## Installation
10
+ ## Quick Start
15
11
 
16
12
  ```bash
17
- npm install -g ui-syncup
18
- # or
19
- bun add -g ui-syncup
13
+ mkdir my-syncup && cd my-syncup
14
+ npx ui-syncup init
20
15
  ```
21
16
 
22
- ## Quick Start
17
+ The wizard downloads `compose.yml`, walks you through service configuration, and starts the stack.
23
18
 
24
- ```bash
25
- # 1. Clone the repository into a new folder
26
- ui-syncup init
19
+ ## Commands
27
20
 
28
- # 2. Start all services (Supabase, migrations, admin user)
29
- ui-syncup up
21
+ ### Setup & Lifecycle
30
22
 
31
- # 3. Start the development server (from inside the project folder)
32
- bun dev
33
- ```
23
+ | Command | Description |
24
+ |---|---|
25
+ | `init` | Guided first-time setup wizard |
26
+ | `start` | Start the stack (reads `COMPOSE_PROFILES` from `.env`) |
27
+ | `stop` | Stop gracefully — data is preserved |
28
+ | `restart [service]` | Restart all services or a single one |
29
+ | `remove` | Remove containers (`--volumes` to also wipe all data) |
34
30
 
35
- Open [http://localhost:3000](http://localhost:3000) in your browser.
31
+ ### Observability
36
32
 
37
- ## Commands
33
+ | Command | Description |
34
+ |---|---|
35
+ | `status` | Show container states, health, and app URL |
36
+ | `logs [service]` | Tail last 200 lines (`-F` to stream live) |
37
+ | `doctor` | Validate env vars, health endpoint, and disk space |
38
+ | `open` | Open the app in your default browser |
39
+
40
+ ### Maintenance
38
41
 
39
42
  | Command | Description |
40
- |---------|-------------|
41
- | `ui-syncup init` | Initialize a new project creates `.env` files, storage dirs, and config |
42
- | `ui-syncup up` | Start all services: Supabase, run migrations, create admin user |
43
- | `ui-syncup down` | Stop all services |
44
- | `ui-syncup reset` | Reset data to a clean state (preserves config files) |
45
- | `ui-syncup purge` | Full cleanup — removes all data, volumes, and config |
43
+ |---|---|
44
+ | `upgrade` | Pull latest image and restart (migrations apply automatically) |
45
+ | `backup` | Dump PostgreSQL + MinIO to a timestamped `.tar.gz` |
46
+ | `restore <archive>` | Restore from a backup archive |
46
47
 
47
- ## Global Options
48
+ ## Usage Examples
48
49
 
49
- | Flag | Description |
50
- |------|-------------|
51
- | `-v, --version` | Display CLI version |
52
- | `--verbose` | Enable verbose output for debugging |
53
- | `--no-color` | Disable colored output (useful in CI environments) |
50
+ ```bash
51
+ # First-time setup
52
+ npx ui-syncup init
54
53
 
55
- ## Init Modes
54
+ # Day-to-day
55
+ ui-syncup status
56
+ ui-syncup logs -F # stream all logs
57
+ ui-syncup logs app -F # stream app logs only
58
+ ui-syncup restart app # restart just the app container
56
59
 
57
- `ui-syncup init` supports two setup modes:
60
+ # Upgrades
61
+ ui-syncup upgrade
58
62
 
59
- - **Local** sets up a local development environment with MinIO (S3-compatible storage)
60
- - **Production** configures production with Cloudflare R2/AWS S3 and transactional email (Resend or SMTP)
63
+ # Backup & restore
64
+ ui-syncup backup -o ~/backups
65
+ ui-syncup restore ~/backups/ui-syncup-backup-2026-03-19T12-00.tar.gz
61
66
 
62
- ## Examples
67
+ # Teardown
68
+ ui-syncup remove # keep data volumes
69
+ ui-syncup remove --volumes # wipe everything
70
+ ```
63
71
 
64
- ```bash
65
- # Initialize in local mode without prompts
66
- ui-syncup init --mode local
72
+ ## Bundled Services (Docker Compose profiles)
67
73
 
68
- # Start with verbose output for debugging
69
- ui-syncup up --verbose
74
+ `init` lets you choose which services to bundle. Your selection is saved as `COMPOSE_PROFILES` in `.env` so subsequent `start`/`upgrade` commands pick it up automatically.
70
75
 
71
- # Skip migrations on startup (if already up to date)
72
- ui-syncup up --skip-migrations
76
+ | Profile | Service | Use when |
77
+ |---|---|---|
78
+ | `db` | PostgreSQL 15 | No external database |
79
+ | `cache` | Redis 7 | No external Redis/Upstash |
80
+ | `storage` | MinIO | No external S3/R2/Backblaze |
73
81
 
74
- # Full reset (requires typing the confirmation phrase)
75
- ui-syncup purge
76
- ```
82
+ ## Backup Details
83
+
84
+ `backup` only exports data for active profiles:
77
85
 
78
- ## Repository
86
+ - **PostgreSQL** (`db` profile) — `pg_dumpall` → `postgres.sql`
87
+ - **MinIO** (`storage` profile) — volume tar → `minio_data.tar.gz`
88
+ - Redis is intentionally excluded (cache — not persistent state)
79
89
 
80
- Source code, issue tracker, and full documentation:
81
- [github.com/BYKHD/ui-syncup](https://github.com/BYKHD/ui-syncup)
90
+ Output is a single `.tar.gz` archive you can store offsite.
82
91
 
83
92
  ## License
84
93