From f186b71ca51e83837db60de13322394bb5e6d348 Mon Sep 17 00:00:00 2001 From: murilo ijanc Date: Tue, 24 Mar 2026 21:41:06 -0300 Subject: Initial commit Import existing tesseras.net website content. --- book/en/commands/create.html | 329 ++++++++++++++++++++++++++++++++++++++++ book/en/commands/create.html.gz | Bin 0 -> 7137 bytes book/en/commands/export.html | 307 +++++++++++++++++++++++++++++++++++++ book/en/commands/export.html.gz | Bin 0 -> 7007 bytes book/en/commands/init.html | 288 +++++++++++++++++++++++++++++++++++ book/en/commands/init.html.gz | Bin 0 -> 6556 bytes book/en/commands/list.html | 283 ++++++++++++++++++++++++++++++++++ book/en/commands/list.html.gz | Bin 0 -> 6400 bytes book/en/commands/verify.html | 307 +++++++++++++++++++++++++++++++++++++ book/en/commands/verify.html.gz | Bin 0 -> 6697 bytes 10 files changed, 1514 insertions(+) create mode 100644 book/en/commands/create.html create mode 100644 book/en/commands/create.html.gz create mode 100644 book/en/commands/export.html create mode 100644 book/en/commands/export.html.gz create mode 100644 book/en/commands/init.html create mode 100644 book/en/commands/init.html.gz create mode 100644 book/en/commands/list.html create mode 100644 book/en/commands/list.html.gz create mode 100644 book/en/commands/verify.html create mode 100644 book/en/commands/verify.html.gz (limited to 'book/en/commands') diff --git a/book/en/commands/create.html b/book/en/commands/create.html new file mode 100644 index 0000000..66db6a5 --- /dev/null +++ b/book/en/commands/create.html @@ -0,0 +1,329 @@ + + + + + + create - Tesseras User Guide + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Keyboard shortcuts

+
+

Press or to navigate between chapters

+

Press S or / to search in the book

+

Press ? to show this help

+

Press Esc to hide this help

+
+
+
+
+ + + + + + + + + + + + + +
+ +
+
+ + + + + + + +
+
+

tes create

+

Create a tessera from a directory of files.

+

Usage

+
tes create <PATH> [OPTIONS]
+
+

Arguments

+
+ + + + + + + +
ArgumentDescription
<PATH>Directory containing files to include
+
+

Options

+
+ + + + + + + + + + + + + +
OptionDescriptionDefault
-n, --non-interactiveSkip promptsoff
--dry-runPreview what would be includedoff
--visibility <VALUE>Visibility level: public, private, circlepublic
--language <CODE>Language code (e.g., en, pt-BR)en
--tags <LIST>Comma-separated tagsnone
--location <DESC>Location descriptionnone
--data-dir <PATH>Base directory for data storage~/.tesseras
+
+

Supported file formats

+
+ + + + + + + + + + + +
ExtensionTypeMemory type
.jpg, .jpegImage (JPEG)Moment
.pngImage (PNG)Moment
.wavAudio (WAV PCM)Moment
.webmVideo (WebM)Moment
.txtPlain text (UTF-8)Reflection
+
+

Files with other extensions are ignored.

+

Memory type inference

+

The command automatically assigns a memory type based on the file format:

+
    +
  • Text files (.txt) are classified as Reflection — thoughts, beliefs, or opinions
  • +
  • All other formats are classified as Moment — a photo, recording, or video of something happening
  • +
+

Examples

+

Preview before creating

+
tes create ./my-photos --dry-run
+
+

Create with metadata

+
tes create ./vacation-2026 \
+    --tags "vacation,summer,beach" \
+    --location "Florianópolis, Brazil" \
+    --language pt-BR \
+    --visibility public
+
+

Non-interactive mode

+
tes create ./daily-log --non-interactive --tags "daily"
+
+

Visibility levels

+
+ + + + + + + + + +
LevelWho can access
publicAnyone (default)
privateOnly you (and designated heirs)
circleExplicitly chosen people
+
+

What happens under the hood

+
    +
  1. Scans the directory for supported files
  2. +
  3. Computes a BLAKE3 hash for each file
  4. +
  5. Assigns a memory type based on file extension
  6. +
  7. Generates a MANIFEST listing all files with their checksums
  8. +
  9. Signs the MANIFEST with your Ed25519 private key
  10. +
  11. Stores the files and metadata in the local database
  12. +
  13. Outputs the content hash that uniquely identifies this tessera
  14. +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
+ + diff --git a/book/en/commands/create.html.gz b/book/en/commands/create.html.gz new file mode 100644 index 0000000..db49670 Binary files /dev/null and b/book/en/commands/create.html.gz differ diff --git a/book/en/commands/export.html b/book/en/commands/export.html new file mode 100644 index 0000000..e6ba75b --- /dev/null +++ b/book/en/commands/export.html @@ -0,0 +1,307 @@ + + + + + + export - Tesseras User Guide + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Keyboard shortcuts

+
+

Press or to navigate between chapters

+

Press S or / to search in the book

+

Press ? to show this help

+

Press Esc to hide this help

+
+
+
+
+ + + + + + + + + + + + + +
+ +
+
+ + + + + + + +
+
+

tes export

+

Export a tessera as a self-contained directory.

+

Usage

+
tes export <HASH> <DEST>
+
+

Arguments

+
+ + + + + + + + +
ArgumentDescription
<HASH>Tessera content hash (64 hex characters)
<DEST>Destination directory
+
+

Options

+
+ + + + + + + +
OptionDescription
--data-dir <PATH>Base directory for data storage (default: ~/.tesseras)
+
+

Output structure

+

The export creates a directory named tessera-<hash> inside the destination:

+
tessera-9f2c4a1b.../
+├── MANIFEST                    # Plain text index with checksums
+├── README.decode               # Human-readable decoding instructions
+├── identity/
+│   ├── creator.pub.ed25519     # Creator's public key
+│   └── signature.ed25519.sig   # Signature of the MANIFEST
+├── memories/
+│   ├── <content-hash>/
+│   │   ├── media.jpg           # Primary media file
+│   │   ├── context.txt         # Human context in plain UTF-8
+│   │   └── meta.json           # Structured metadata
+│   └── .../
+├── schema/
+│   └── v1.json                 # JSON schema for metadata validation
+└── decode/
+    ├── formats.txt             # Explanation of all formats used
+    ├── jpeg.txt                # How to decode JPEG
+    ├── wav.txt                 # How to decode WAV
+    └── json.txt                # How to decode JSON
+
+

Example

+
tes export 9f2c4a1b3e7d8f0cabc123def4567890... ./backup
+
+
Exported to ./backup/tessera-9f2c4a1b3e7d8f0cabc123def4567890...
+
+

Key feature: self-contained

+

The exported directory is designed to be readable without Tesseras software. It includes:

+
    +
  • MANIFEST — a plain-text file listing every file with its BLAKE3 checksum, readable by any text editor
  • +
  • README.decode — human-readable instructions for understanding the contents
  • +
  • decode/ — detailed explanations of every file format used (JPEG, WAV, JSON, UTF-8)
  • +
+

This means someone thousands of years from now, with no knowledge of Tesseras, can still understand and access the memories.

+

Use cases

+
    +
  • Backup — export to an external drive, USB stick, or cloud storage
  • +
  • Sharing — give someone a complete copy of a tessera
  • +
  • Archival — store on write-once media (DVD, Blu-ray, tape)
  • +
  • Migration — move tesseras between machines without needing the database
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
+ + diff --git a/book/en/commands/export.html.gz b/book/en/commands/export.html.gz new file mode 100644 index 0000000..32ccd9e Binary files /dev/null and b/book/en/commands/export.html.gz differ diff --git a/book/en/commands/init.html b/book/en/commands/init.html new file mode 100644 index 0000000..0c1db91 --- /dev/null +++ b/book/en/commands/init.html @@ -0,0 +1,288 @@ + + + + + + init - Tesseras User Guide + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Keyboard shortcuts

+
+

Press or to navigate between chapters

+

Press S or / to search in the book

+

Press ? to show this help

+

Press Esc to hide this help

+
+
+
+
+ + + + + + + + + + + + + +
+ +
+
+ + + + + + + +
+
+

tes init

+

Initialize identity and local database.

+

Usage

+
tes init
+
+

Description

+

Sets up your local Tesseras environment. This is the first command you should run after installing Tesseras.

+

The command creates:

+
+ + + + + + + + + + +
PathContents
~/.tesseras/identity/Ed25519 keypair for signing tesseras
~/.tesseras/db/SQLite database for indexing
~/.tesseras/blobs/Blob storage for memory files
~/.tesseras/config.tomlConfiguration file
+
+

Options

+
+ + + + + + + +
OptionDescription
--data-dir <PATH>Base directory for data storage (default: ~/.tesseras)
+
+

Idempotent

+

Running init again is safe. If an identity already exists, it is preserved:

+
tes init
+
+
Ed25519 identity already exists
+Database initialized
+Tesseras initialized at /home/user/.tesseras
+
+

Custom data directory

+
tes --data-dir /mnt/usb/tesseras init
+
+

This creates the full directory structure under /mnt/usb/tesseras/ instead of the default location.

+

What happens under the hood

+
    +
  1. Creates the directory structure (identity/, db/, blobs/)
  2. +
  3. Generates an Ed25519 keypair (private key stays local, public key identifies you)
  4. +
  5. Runs SQLite migrations to set up the database schema
  6. +
  7. Writes a default config.toml
  8. +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
+ + diff --git a/book/en/commands/init.html.gz b/book/en/commands/init.html.gz new file mode 100644 index 0000000..c3b534c Binary files /dev/null and b/book/en/commands/init.html.gz differ diff --git a/book/en/commands/list.html b/book/en/commands/list.html new file mode 100644 index 0000000..c8f0a2b --- /dev/null +++ b/book/en/commands/list.html @@ -0,0 +1,283 @@ + + + + + + list - Tesseras User Guide + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Keyboard shortcuts

+
+

Press or to navigate between chapters

+

Press S or / to search in the book

+

Press ? to show this help

+

Press Esc to hide this help

+
+
+
+
+ + + + + + + + + + + + + +
+ +
+
+ + + + + + + +
+
+

tes list

+

List all local tesseras.

+

Usage

+
tes list
+
+

Options

+
+ + + + + + + +
OptionDescription
--data-dir <PATH>Base directory for data storage (default: ~/.tesseras)
+
+

Output

+

Displays a table with the following columns:

+
+ + + + + + + + + + + +
ColumnDescription
HashFirst 16 characters of the content hash
CreatedCreation date (YYYY-MM-DD)
MemoriesNumber of memories in the tessera
SizeTotal size (B, KB, MB, or GB)
VisibilityVisibility level (public, private, or circle)
+
+

Example

+
tes list
+
+
Hash             Created     Memories  Size    Visibility
+9f2c4a1b3e7d8f0c 2026-02-14         3  284 KB  public
+a3b7c2d9e4f01823 2026-02-10         1   12 KB  private
+f8e7d6c5b4a39201 2026-01-28        12    4 MB  public
+
+

Empty database

+

If no tesseras have been created yet:

+
tes list
+
+
No tesseras found.
+
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
+ + diff --git a/book/en/commands/list.html.gz b/book/en/commands/list.html.gz new file mode 100644 index 0000000..82e48b1 Binary files /dev/null and b/book/en/commands/list.html.gz differ diff --git a/book/en/commands/verify.html b/book/en/commands/verify.html new file mode 100644 index 0000000..d28d57c --- /dev/null +++ b/book/en/commands/verify.html @@ -0,0 +1,307 @@ + + + + + + verify - Tesseras User Guide + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+
+

Keyboard shortcuts

+
+

Press or to navigate between chapters

+

Press S or / to search in the book

+

Press ? to show this help

+

Press Esc to hide this help

+
+
+
+
+ + + + + + + + + + + + + +
+ +
+
+ + + + + + + +
+
+

tes verify

+

Verify integrity of a stored tessera.

+

Usage

+
tes verify <HASH>
+
+

Arguments

+
+ + + + + + + +
ArgumentDescription
<HASH>Tessera content hash (64 hex characters)
+
+

Options

+
+ + + + + + + +
OptionDescription
--data-dir <PATH>Base directory for data storage (default: ~/.tesseras)
+
+

What it checks

+
    +
  1. Signature validity — verifies the Ed25519 signature over the MANIFEST
  2. +
  3. File integrity — recomputes the BLAKE3 hash of every file and compares it against the MANIFEST
  4. +
+

Exit codes

+
+ + + + + + + + +
CodeMeaning
0Verification passed — all files intact, signature valid
1Verification failed — corrupted files or invalid signature
+
+

Examples

+

Successful verification

+
tes verify 9f2c4a1b3e7d8f0cabc123def456789012345678abcdef0123456789abcdef01
+
+
Tessera: 9f2c4a1b3e7d8f0cabc123def456789012345678abcdef0123456789abcdef01
+Signature: VALID
+  [OK] memories/a1b2c3d4/media.jpg
+  [OK] memories/e5f6a7b8/media.txt
+  [OK] memories/c9d0e1f2/media.wav
+Verification: PASSED
+
+

Failed verification

+

If a file has been modified or corrupted:

+
Tessera: 9f2c4a1b3e7d8f0cabc123def456789012345678abcdef0123456789abcdef01
+Signature: VALID
+  [OK] memories/a1b2c3d4/media.jpg
+  [FAILED] memories/e5f6a7b8/media.txt
+  [OK] memories/c9d0e1f2/media.wav
+Verification: FAILED
+
+

Use cases

+
    +
  • Routine integrity checks — periodically verify that your stored tesseras haven’t been corrupted
  • +
  • After transfer — verify after copying tesseras to a new device or storage medium
  • +
  • Trust verification — confirm that a tessera received from someone else hasn’t been tampered with
  • +
+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + + + + + + + +
+ + diff --git a/book/en/commands/verify.html.gz b/book/en/commands/verify.html.gz new file mode 100644 index 0000000..301946c Binary files /dev/null and b/book/en/commands/verify.html.gz differ -- cgit v1.2.3