divekit index

Manage the Divekit project index for easy project discovery and navigation.

Manage the Divekit project index, which allows you to quickly find and navigate to your Divekit projects.

Usage

divekit index <command> [flags]

Available Commands

  • add — Add projects to the index

    • Usage: divekit index add [path]
    • Flags:
      • --find-up Find and add projects in the current or parent directories
      • --find-down Find and add projects recursively in the specified or current directory
  • search — Search for projects in the index

    • Usage: divekit index search [term...] [flags]
    • Flags:
      • -i, --interactive Launch in interactive mode (prints selected project path)
      • --user <name> Filter by user
      • --distribution <name> Filter by distribution
  • refresh — Update the index with current project information

    • Usage: divekit index refresh

Description

The project index helps you manage multiple Divekit projects efficiently. It maintains a searchable database of your projects, allowing you to:

  • Quickly find projects by name, distribution, or user
  • Navigate to project directories with auto-completion
  • Keep track of all your Divekit projects in one place

Examples

Adding Projects

# Add current project to index
divekit index add

# Add specific project path
divekit index add /path/to/project

# Find and add all projects in current directory tree
divekit index add --find-down

# Find and add projects in parent directories
divekit index add --find-up

Searching Projects

# Interactive search
divekit index search -i

# Search by name
divekit index search "assignment-1"

# Search by distribution
divekit index search --distribution "ws2024"

# Search by user
divekit index search --user "john.doe"

# Combine filters
divekit index search "java" --distribution "ws2024"

Refreshing the Index

# Update all projects in index
divekit index refresh

Index Location

The project index is stored as a SQLite database at ~/.divekit/index.db. It contains:

  • Project paths (absolute)
  • Distributions detected per project
  • Optional metadata used for searching and filtering

Note:

  • The database is managed by the CLI; manual editing is not required or recommended.
  • The index is updated via divekit index add ... and divekit index refresh.

Integration with Shell

The index integrates well with shell commands:

# Navigate to project found interactively
cd $(divekit index search -i)

# Open project in editor
code $(divekit index search "assignment-1")