Skip to content

Commit 2fab196

Browse files
committed
fix: clean up UX a bit
1 parent cdd5736 commit 2fab196

6 files changed

Lines changed: 350 additions & 228 deletions

File tree

README.md

Lines changed: 26 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ Fluxel is intentionally in MVP mode.
3333

3434
- Commit snapshots over a dataset root (`fluxel commit`).
3535
- Repository URI support via `--repo <path|s3://bucket/prefix>` and `open_repository(...)`.
36+
- Repository initialization (`fluxel init`) with local or S3 backend.
3637
- Streaming S3 imports (`fluxel import`) with `blake3` or metadata identity modes.
3738
- Branch-scoped staging workflow (`fluxel add`, `fluxel rm`, `fluxel status`, `fluxel commit --staged`).
3839
- Incremental ingress paths that preserve existing manifest entries while adding only new content metadata/blobs.
@@ -42,9 +43,11 @@ Fluxel is intentionally in MVP mode.
4243
- Fast-forward-only branch merge (`fluxel merge`).
4344
- Metadata-only diff between refs (`fluxel diff`).
4445
- Metadata-only manifest mutations for committed refs (`fluxel rm -m ...`, `fluxel mv -m ... ...`).
46+
- File restoration from refs (`fluxel restore <ref> [--path ...] [--force]`).
4547
- Disposable analytical index from manifest (`fluxel index build/query/drop`, DuckDB + optional Parquet export).
4648
- `fsspec` provider for `fluxel://` URI reads.
4749
- Local + S3 storage backend abstractions available in code.
50+
- Human-readable output by default; `--json` flag on all commands for programmatic use.
4851

4952
### Not Wired Yet
5053

@@ -79,7 +82,11 @@ If your company uses Fluxel, sponsor ongoing maintenance at <https://github.com/
7982
## Quickstart
8083

8184
```bash
85+
# Initialize a new repository
8286
mkdir -p /tmp/fluxel-demo
87+
uv run fluxel init --repo /tmp/fluxel-demo
88+
# Or with S3 backend: uv run fluxel init --repo /tmp/fluxel-demo --backend s3 --s3-bucket my-bucket
89+
8390
echo "hello" > /tmp/fluxel-demo/a.txt
8491

8592
uv run fluxel commit --repo /tmp/fluxel-demo -m "initial"
@@ -92,15 +99,22 @@ uv run fluxel verify --repo /tmp/fluxel-demo --ref main
9299

93100
# branch-scoped staged flow
94101
uv run fluxel branch --repo /tmp/fluxel-demo feature
95-
uv run fluxel add --repo /tmp/fluxel-demo --ref feature data/new.csv
96-
uv run fluxel add --repo /tmp/fluxel-demo --ref feature --as imports/raw.csv /tmp/outside-repo/raw.csv
97-
uv run fluxel add --repo /tmp/fluxel-demo --ref feature --as imports/bundle /tmp/outside-repo/bundle
98-
uv run fluxel add --repo /tmp/fluxel-demo --ref feature --identity meta --as imports/bootstrap.csv s3://my-bucket/bootstrap.csv
99-
uv run fluxel add --repo /tmp/fluxel-demo --ref feature --identity meta --as imports/bootstrap s3://my-bucket/bootstrap
100-
uv run fluxel status --repo /tmp/fluxel-demo --ref feature
101-
uv run fluxel commit --repo /tmp/fluxel-demo --ref feature --staged -m "feature updates"
102+
uv run fluxel checkout --repo /tmp/fluxel-demo feature
103+
uv run fluxel add --repo /tmp/fluxel-demo data/new.csv
104+
uv run fluxel add --repo /tmp/fluxel-demo --as imports/raw.csv /tmp/outside-repo/raw.csv
105+
uv run fluxel add --repo /tmp/fluxel-demo --as imports/bundle /tmp/outside-repo/bundle
106+
uv run fluxel add --repo /tmp/fluxel-demo --identity meta --as imports/bootstrap.csv s3://my-bucket/bootstrap.csv
107+
uv run fluxel add --repo /tmp/fluxel-demo --identity meta --as imports/bootstrap s3://my-bucket/bootstrap
108+
uv run fluxel status --repo /tmp/fluxel-demo
109+
uv run fluxel commit --repo /tmp/fluxel-demo --staged -m "feature updates"
110+
uv run fluxel checkout --repo /tmp/fluxel-demo main
102111
uv run fluxel merge --repo /tmp/fluxel-demo feature main
103112

113+
# restore files from a ref
114+
uv run fluxel restore --repo /tmp/fluxel-demo main
115+
uv run fluxel restore --repo /tmp/fluxel-demo main --path data/new.csv
116+
uv run fluxel restore --repo /tmp/fluxel-demo main --force
117+
104118
echo "hello v2" > /tmp/fluxel-demo/a.txt
105119
uv run fluxel commit --repo /tmp/fluxel-demo -m "update"
106120

@@ -122,6 +136,11 @@ uv run fluxel branch --repo s3://my-bucket/datasets/demo feature
122136
uv run fluxel commit --repo s3://my-bucket/datasets/demo -m "snapshot current working tree"
123137
uv run fluxel rm --repo s3://my-bucket/datasets/demo obsolete -m "drop obsolete paths"
124138
uv run fluxel mv --repo s3://my-bucket/datasets/demo bootstrap final -m "rename imported prefix"
139+
140+
# JSON output for programmatic use (all commands support --json)
141+
uv run fluxel status --repo /tmp/fluxel-demo --json
142+
uv run fluxel add --repo /tmp/fluxel-demo data/new.csv --json
143+
uv run fluxel diff --repo /tmp/fluxel-demo main feature --json
125144
```
126145

127146
## Analytical Index (Derived, Disposable)

0 commit comments

Comments
 (0)