Skip to the content.

ivaldi seal

Create a commit (seal) with staged files.

Synopsis

ivaldi seal <message>
ivaldi seal -m <message>

Description

The seal command creates a commit from the currently staged files. Each seal receives:

Arguments

Options

Examples

Basic Seal

ivaldi seal "Add login feature"

Output:

Created seal: swift-eagle-flies-high-447abe9b (447abe9b)

With -m Flag

ivaldi seal -m "Fix authentication bug"

Multi-line Message

ivaldi seal "Add user authentication

Implemented JWT-based authentication with:
- Login endpoint
- Token refresh
- Session management"

Seal Names

Every seal gets a unique memorable name:

swift-eagle-flies-high-447abe9b
│     │     │    │    │
│     │     │    │    └─── Short hash (8 chars)
│     │     │    └─────── Adjective
│     │     └────────────── Verb
│     └────────────────────── Adjective
└──────────────────────────── Noun

Benefits:

Workflow

Complete seal workflow:

# 1. Make changes
echo "new code" >> src/main.go

# 2. Check status
ivaldi status

# 3. Stage files
ivaldi gather src/main.go

# 4. Create seal
ivaldi seal "Add new feature"

# 5. Verify
ivaldi log --limit 1

Viewing Seals

List All Seals

ivaldi seals list

Show Seal Details

ivaldi seals show swift-eagle-flies-high-447abe9b

View History

ivaldi log
ivaldi log --oneline

Common Workflows

Quick Commit

ivaldi gather .
ivaldi seal "Quick fix"

Feature Commit

# Stage related files
ivaldi gather src/auth/ tests/auth/

# Create descriptive seal
ivaldi seal "Add OAuth2 authentication

- Implemented OAuth2 flow
- Added Google and GitHub providers
- Updated user model
- Added integration tests"

WIP Commit

ivaldi gather src/
ivaldi seal "WIP: Refactoring authentication"

Best Practices

Write Clear Messages

Good:

ivaldi seal "Fix null pointer in user login handler"

Bad:

ivaldi seal "fix"

Commit Often

# Small, focused seals are better
ivaldi seal "Add login endpoint"
ivaldi seal "Add logout endpoint"
ivaldi seal "Add session management"

Use Meaningful Names

The first line should be a concise summary:

ivaldi seal "Add user authentication feature

Detailed explanation here...
"

Comparison with Git

Git Ivaldi
git commit -m "msg" ivaldi seal "msg"
Uses SHA-1 hash Uses BLAKE3 hash
Hash only Hash + memorable name
git commit --amend (use travel to modify history)

Troubleshooting

Nothing to Seal

Error: no changes staged for seal

Solution:

ivaldi gather .
ivaldi seal "Your message"

No Message Provided

Error: seal message required

Solution:

ivaldi seal "Add your message here"

Author Not Configured

Error: user.name not configured

Solution:

ivaldi config --set user.name "Your Name"
ivaldi config --set user.email "you@example.com"