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
818go build -o getmetadata ./cmd/getmetadata
919go 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
1551getmetadata -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
7287CGO_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