Skip to content

Commit bf4952c

Browse files
committed
Restructure README around the metadata-to-GRDM workflow
1 parent 08f6048 commit bf4952c

1 file changed

Lines changed: 56 additions & 48 deletions

File tree

README.md

Lines changed: 56 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,51 @@
1-
# getmetadata
1+
# RDM-metadata-cli
22

3-
Extract metadata from local files for GRDM (GakuNin RDM).
3+
Extract metadata from local files and register it to GakuNin RDM (GRDM).
4+
The data itself never leaves confidential storage; only its metadata is
5+
published, so the data stays private while remaining findable.
46

57
## Installation
68

9+
### Prebuilt binaries
10+
11+
Download from the
12+
[Releases page](https://github.com/RCOSDP/RDM-metadata-cli/releases).
13+
`ggwave` ships as a separate archive — see [ggwave](#ggwave).
14+
15+
### Build from source
16+
717
```bash
818
go build -o getmetadata ./cmd/getmetadata
919
go build -o grdm ./cmd/grdm
1020
```
1121

12-
## Usage
22+
## Example
23+
24+
Extract metadata on the data machine, carry it to a networked machine, and
25+
register it to GRDM:
26+
27+
```
28+
getmetadata ──> ggwave ──(audio)──> ggwave ──> grdm ──> GRDM
29+
(data host) (networked host)
30+
```
31+
32+
```bash
33+
# Data host (offline): extract and transmit
34+
getmetadata -format mebyo-project ./data | ggwave send
35+
36+
# Networked host: receive and register
37+
ggwave recv | grdm metadata create -project <id> -schema <name>
38+
```
39+
40+
When the data host has a network path, pipe directly without `ggwave`:
41+
42+
```bash
43+
getmetadata -format mebyo-project ./data | grdm metadata create -project <id> -schema <name>
44+
```
45+
46+
## getmetadata
47+
48+
Scans a directory and writes metadata as JSON to stdout.
1349

1450
```bash
1551
getmetadata -format <format> <directory>
@@ -31,63 +67,35 @@ getmetadata -format <format> <directory>
3167
| Text | csv, tsv, txt | number-of-rows, number-of-columns, delimiter, character-code |
3268
| Excel | xlsx, xlsm | number-of-rows, number-of-columns |
3369

34-
## Examples
70+
## ggwave
3571

36-
```bash
37-
# List files with metadata
38-
getmetadata -format list ./data
39-
40-
# Generate project metadata for Mebyo DB
41-
getmetadata -format mebyo-project ./data
42-
43-
# Generate file metadata for Mebyo DB
44-
getmetadata -format mebyo-file ./data
45-
```
46-
47-
### With grdm CLI
48-
49-
```bash
50-
# Create project metadata
51-
getmetadata -format mebyo-project ./data | \
52-
grdm metadata create -project <id> -schema <schema-name>
53-
54-
# Bulk update file metadata
55-
getmetadata -format mebyo-file ./data | \
56-
grdm file bulk update -project <id> -schema <schema-name> osfstorage
57-
```
58-
59-
## ggwave CLI
72+
Transfers JSON metadata between machines over sound (speaker to microphone),
73+
for a data host that has no network path — the [Example](#example) above uses it
74+
as the bridge.
6075

61-
Transfer metadata between machines via audio (speaker/microphone) using [ggwave](https://github.com/ggerganov/ggwave).
76+
### Prebuilt binary
6277

63-
### Prerequisites
78+
Download from the
79+
[Releases page](https://github.com/RCOSDP/RDM-metadata-cli/releases)
80+
(`linux-amd64`, `darwin-arm64`, `windows-amd64`).
6481

65-
- [ggwave](https://github.com/ggerganov/ggwave) installed (`cmake && make && make install`)
66-
- [PortAudio](http://www.portaudio.com/) installed (`brew install portaudio` on macOS)
67-
- `CGO_ENABLED=1`
82+
### Build from source
6883

69-
### Build
84+
Needs the native ggwave and PortAudio libraries:
7085

7186
```bash
7287
CGO_ENABLED=1 go build -o ggwave ./cmd/ggwave
7388
```
7489

75-
### Usage
90+
See [docs/ggwave.md](docs/ggwave.md) for the protocol and build details.
7691

77-
```bash
78-
# Send metadata via speaker
79-
getmetadata -format mebyo-project ./data | ggwave send
92+
## grdm
8093

81-
# Receive metadata via microphone
82-
ggwave recv | grdm metadata create -project <id> -schema <name>
94+
Registers metadata to GRDM and reads/writes project files through its API.
8395

84-
# File-based (for testing)
85-
echo '{"title":"test"}' | ggwave send -out test.wav
86-
ggwave recv -in test.wav
96+
```bash
97+
getmetadata -format mebyo-file ./data | \
98+
grdm file bulk update -project <id> -schema <name> osfstorage
8799
```
88100

89-
See [docs/ggwave.md](docs/ggwave.md) for technical details.
90-
91-
## grdm CLI
92-
93-
See [docs/grdm.md](docs/grdm.md) for the GRDM API client documentation.
101+
See [docs/grdm.md](docs/grdm.md) for configuration and the full command list.

0 commit comments

Comments
 (0)