MCPcopy Index your code
hub / github.com/artempyanykh/shellmark

github.com/artempyanykh/shellmark @main

Chat with this repo
repository ↗ · DeepWiki ↗ · + Follow
100 symbols 174 edges 13 files 1 documented · 1%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

shellmark: bookmark manager for shell

Build & Test

Shellmark demonstration: CLI and TUI

shellmark is a cross-platform bookmark mananger for your shell. The main features are: 1. shellmark add to bookmark directories and files. 2. shellmark browse to interactively search and act on bookmarks.

How to use

  1. Install shellmark following installation instructions below. Make sure shellmark is in your PATH.
  2. Integrate shellmark with your shell following integration instructions below. This will add a shell alias s. The name of the alias is configurable. Run shellmark plug --help to learn more.
  3. Invoke shellmark via s shell alias.

Installation instructions

Pre-built binary

  1. Go to Releases page and download the binary for your OS.
  2. Rename the binary to remove the OS suffix, so it becomes just shellmark or shellmark.exe.
  3. Drop the binary somewhere in your PATH.

cargo install

  1. Run cargo install shellmark.
  2. The binary will be built and installed under a local Cargo folder, usually $HOME/.cargo/bin. Make sure this directory is in your PATH.

From source

Make sure you have Rust toolchain set up (1.49+ should work). Then run the following commands:

$ git clone https://github.com/artempyanykh/shellmark.git
$ cd shellmark
$ cargo install --path .

This will install shellmark under ~/.cargo/bin.

Integration with shell

Bash/Zsh

if type shellmark &>/dev/null; then
    eval "$(shellmark --out posix plug)"
fi

Fish

if type -q shellmark
    shellmark --out fish plug | source
end

PowerShell

if (Get-Command shellmark -ErrorAction SilentlyContinue) {
    Invoke-Expression (@(&shellmark --out powershell plug) -join "`n")
}

Extension points exported contracts — how you extend this code

Output (Interface)
(no doc) [5 implementers]
src/shell.rs
Action (Interface)
(no doc) [1 implementers]
src/keys.rs

Core symbols most depended-on inside this repo

bind
called by 13
src/keys.rs
bind_with_desc
called by 6
src/keys.rs
to_output
called by 5
src/plug.rs
selected_bookmark
called by 4
src/browse.rs
update_selection
called by 4
src/browse.rs
read_bookmarks
called by 3
src/bookmarks.rs
ctrl_c
called by 3
src/keys.rs
simplify_path
called by 3
src/storage.rs

Shape

Function 43
Method 31
Class 16
Enum 8
Interface 2

Languages

Rust100%

Modules by API surface

src/keys.rs29 symbols
src/browse.rs26 symbols
src/browse/ui.rs7 symbols
src/bookmarks.rs7 symbols
src/cli.rs6 symbols
src/browse/cmd.rs6 symbols
src/storage.rs4 symbols
src/shell.rs4 symbols
src/plug.rs4 symbols
src/diag.rs4 symbols
src/search.rs1 symbols
src/main.rs1 symbols

For agents

$ claude mcp add shellmark \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact