@enjoys/context-engine 1.0.1 → 1.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,91 @@
1
+ {
2
+ "name": "nvim",
3
+ "description": "Neovim - hyperextensible Vim-based text editor with Lua scripting, built-in LSP, and modern terminal features",
4
+ "category": "Text Editors",
5
+ "platforms": ["linux", "macos", "windows"],
6
+ "shells": ["bash", "zsh", "fish", "powershell"],
7
+ "subcommands": [],
8
+ "globalOptions": [
9
+ { "name": "--help", "shorthand": "-h", "description": "Show usage summary and exit" },
10
+ { "name": "--version", "shorthand": "-v", "description": "Print version information and exit" },
11
+ { "name": "-c", "description": "Execute an Ex command after loading the first file", "takesValue": true },
12
+ { "name": "--cmd", "description": "Execute an Ex command before loading any config", "takesValue": true },
13
+ { "name": "-S", "description": "Source (execute) a Vim/Lua script file after loading the first file", "takesValue": true },
14
+ { "name": "-u", "description": "Use specified init file instead of default init.vim/init.lua (NONE to skip)", "takesValue": true },
15
+ { "name": "-N", "description": "Start in nocompatible mode (always enabled in Neovim, accepted for compatibility)" },
16
+ { "name": "-R", "description": "Read-only mode - set 'readonly' option" },
17
+ { "name": "-b", "description": "Binary mode - set options for editing binary files" },
18
+ { "name": "-d", "description": "Diff mode - open files and show differences" },
19
+ { "name": "-o", "description": "Open N files in horizontally split windows", "takesValue": true },
20
+ { "name": "-O", "description": "Open N files in vertically split windows", "takesValue": true },
21
+ { "name": "-p", "description": "Open N files in separate tab pages", "takesValue": true },
22
+ { "name": "-r", "description": "Recovery mode - recover a file from swap file", "takesValue": true },
23
+ { "name": "-n", "description": "No swap file - do not create .swp files" },
24
+ { "name": "-e", "description": "Start in Ex mode (line-oriented editing)" },
25
+ { "name": "-s", "description": "Silent (batch) mode - read Normal mode commands from a file", "takesValue": true },
26
+ { "name": "--noplugin", "description": "Skip loading all plugins" },
27
+ { "name": "--clean", "description": "Start with default settings, no config, no plugins (mimics factory defaults)" },
28
+ { "name": "-t", "description": "Jump to a tag", "takesValue": true },
29
+ { "name": "+", "description": "Start at the end of the file" },
30
+ { "name": "+N", "description": "Start at line number N", "takesValue": true },
31
+ { "name": "+/pattern", "description": "Start at the first occurrence of search pattern", "takesValue": true },
32
+ { "name": "--headless", "description": "Start without a UI (for scripting, LSP, automation)" },
33
+ { "name": "--listen", "description": "Start an RPC server listening on the given address (pipe or TCP)", "takesValue": true },
34
+ { "name": "--remote", "description": "Edit files in an already running Neovim instance via --listen address", "takesValue": true },
35
+ { "name": "--embed", "description": "Use stdin/stdout as an msgpack-RPC channel (for GUI frontends)" },
36
+ { "name": "--startuptime", "description": "Write startup timing messages to specified file", "takesValue": true },
37
+ { "name": "--api-info", "description": "Print msgpack-encoded API metadata to stdout and exit" },
38
+ { "name": "-l", "description": "Execute a Lua script (non-editor mode, Neovim acts as Lua interpreter)", "takesValue": true },
39
+ { "name": "-ll", "description": "Execute a Lua module (like require('module'), non-editor mode)", "takesValue": true },
40
+ { "name": "-i", "description": "Use specified ShaDa (shared data) file instead of default", "takesValue": true },
41
+ { "name": "-V", "description": "Verbose mode - set verbosity level for debugging", "takesValue": true },
42
+ { "name": "-w", "description": "Record all typed characters to a script file (append)", "takesValue": true },
43
+ { "name": "-W", "description": "Record all typed characters to a script file (overwrite)", "takesValue": true },
44
+ { "name": "--luamod-dev", "description": "Enable Lua module development mode (add cwd to package.path)" }
45
+ ],
46
+ "examples": [
47
+ { "command": "nvim file.txt", "description": "Open a file for editing" },
48
+ { "command": "nvim --headless -c 'q'", "description": "Start headless and quit (verify startup works)" },
49
+ { "command": "nvim -d file1 file2", "description": "Open two files in diff mode" },
50
+ { "command": "nvim --listen /tmp/nvim.sock", "description": "Start Neovim as an RPC server on a Unix socket" },
51
+ { "command": "nvim --startuptime startup.log file.txt", "description": "Profile startup time and save to log" },
52
+ { "command": "nvim -l script.lua", "description": "Execute a Lua script using Neovim as interpreter" },
53
+ { "command": "nvim -o file1 file2", "description": "Open files in horizontal splits" },
54
+ { "command": "nvim -p *.py", "description": "Open all Python files in tabs" },
55
+ { "command": "nvim +42 file.txt", "description": "Open file and jump to line 42" },
56
+ { "command": "nvim --clean file.txt", "description": "Open file with no config or plugins" },
57
+ { "command": "nvim -c 'set number' -c 'colorscheme desert' file.txt", "description": "Open file with line numbers and a colorscheme" },
58
+ { "command": "nvim --headless -c 'TSInstall python' -c 'q'", "description": "Install a Treesitter parser headlessly" },
59
+ { "command": "nvim --remote file.txt", "description": "Open file in an already running Neovim instance" },
60
+ { "command": "nvim -ll luamodule", "description": "Execute a Lua module in non-editor mode" }
61
+ ],
62
+ "relatedCommands": ["vim", "vi", "nano", "emacs"],
63
+ "contextEngine": {
64
+ "detectors": [
65
+ {
66
+ "name": "version",
67
+ "description": "Neovim version and build info",
68
+ "command": "nvim --version 2>/dev/null | head -3",
69
+ "parser": "lines",
70
+ "cacheFor": 600,
71
+ "requiresCmd": "nvim"
72
+ },
73
+ {
74
+ "name": "config",
75
+ "description": "Detect Neovim config location",
76
+ "command": "ls ~/.config/nvim/init.lua 2>/dev/null || ls ~/.config/nvim/init.vim 2>/dev/null",
77
+ "parser": "lines",
78
+ "cacheFor": 300,
79
+ "requiresCmd": "nvim"
80
+ },
81
+ {
82
+ "name": "plugins",
83
+ "description": "Detect plugin manager and installed plugins",
84
+ "command": "ls ~/.local/share/nvim/lazy/ 2>/dev/null | head -15 || ls ~/.local/share/nvim/site/pack/*/start/ 2>/dev/null | head -15",
85
+ "parser": "lines",
86
+ "cacheFor": 300,
87
+ "requiresCmd": "nvim"
88
+ }
89
+ ]
90
+ }
91
+ }
@@ -0,0 +1,101 @@
1
+ {
2
+ "name": "screen",
3
+ "description": "GNU Screen terminal multiplexer - manage multiple terminal sessions within a single window",
4
+ "category": "Terminal Multiplexers",
5
+ "platforms": ["linux", "macos"],
6
+ "shells": ["bash", "zsh", "fish"],
7
+ "subcommands": [
8
+ { "name": "-S", "description": "Create a new named session", "args": [{ "name": "session_name", "description": "Name for the new screen session", "required": true }], "options": [
9
+ { "name": "-d", "description": "Detach the session elsewhere before attaching" },
10
+ { "name": "-m", "description": "Force creation of a new session (ignore $STY)" },
11
+ { "name": "-A", "description": "Adapt window sizes to current terminal" },
12
+ { "name": "-L", "description": "Enable output logging to screenlog.N files" },
13
+ { "name": "-T", "description": "Set terminal type for the session", "takesValue": true }
14
+ ]},
15
+ { "name": "-r", "description": "Reattach to a detached session", "args": [{ "name": "session", "description": "Session name or PID to reattach to", "required": false }], "options": [
16
+ { "name": "-d", "description": "Detach the session first if attached elsewhere" },
17
+ { "name": "-D", "description": "Detach and logout remote session before reattaching" },
18
+ { "name": "-e", "description": "Change command character (default: ^Aa)", "takesValue": true },
19
+ { "name": "-p", "description": "Preselect a named window", "takesValue": true }
20
+ ]},
21
+ { "name": "-d", "description": "Detach a running session remotely", "args": [{ "name": "session", "description": "Session name or PID to detach", "required": false }], "options": [
22
+ { "name": "-r", "description": "Reattach after detaching" },
23
+ { "name": "-R", "description": "Reattach if possible, otherwise start new session" },
24
+ { "name": "-RR", "description": "Use the first session if multiple detached" }
25
+ ]},
26
+ { "name": "-ls", "description": "List all screen sessions and their states", "options": [
27
+ { "name": "-S", "description": "Filter listed sessions by name prefix", "takesValue": true }
28
+ ]},
29
+ { "name": "-x", "description": "Multiattach - attach to an already attached session (shared screen)", "args": [{ "name": "session", "description": "Session name or PID to multi-attach to", "required": false }], "options": [
30
+ { "name": "-S", "description": "Specify session name", "takesValue": true },
31
+ { "name": "-p", "description": "Preselect a named window", "takesValue": true },
32
+ { "name": "-r", "description": "Reattach if session is detached instead" }
33
+ ]},
34
+ { "name": "-X", "description": "Send a command to a running session", "args": [{ "name": "command", "description": "Screen command to execute (e.g., quit, stuff, select)", "required": true }], "options": [
35
+ { "name": "-S", "description": "Target session name", "takesValue": true },
36
+ { "name": "-p", "description": "Target window number or name", "takesValue": true },
37
+ { "name": "-Q", "description": "Send command and wait for query response" }
38
+ ]}
39
+ ],
40
+ "globalOptions": [
41
+ { "name": "--help", "shorthand": "-h", "description": "Show usage information" },
42
+ { "name": "--version", "shorthand": "-v", "description": "Print version and compile date" },
43
+ { "name": "-S", "description": "Specify session name", "takesValue": true },
44
+ { "name": "-r", "description": "Reattach to a detached session", "takesValue": true },
45
+ { "name": "-R", "description": "Reattach or create session if none exists" },
46
+ { "name": "-d", "description": "Detach a running session" },
47
+ { "name": "-D", "description": "Detach and logout" },
48
+ { "name": "-ls", "description": "List all screen sessions" },
49
+ { "name": "-list", "description": "Same as -ls" },
50
+ { "name": "-x", "description": "Multi-attach to an attached session" },
51
+ { "name": "-X", "description": "Send a command to a named session", "takesValue": true },
52
+ { "name": "-m", "description": "Ignore $STY, create a new session" },
53
+ { "name": "-c", "description": "Use specified screenrc file instead of default", "takesValue": true },
54
+ { "name": "-e", "description": "Change command characters (default ^Aa)", "takesValue": true },
55
+ { "name": "-fn", "description": "Turn off flow control" },
56
+ { "name": "-fa", "description": "Turn on automatic flow control" },
57
+ { "name": "-A", "description": "Adapt all windows to current terminal size" },
58
+ { "name": "-L", "description": "Turn on output logging" },
59
+ { "name": "-Logfile", "description": "Set logfile name", "takesValue": true },
60
+ { "name": "-p", "description": "Preselect a window", "takesValue": true },
61
+ { "name": "-q", "description": "Quiet mode, suppress error messages" },
62
+ { "name": "-Q", "description": "Query a running session command and return result" },
63
+ { "name": "-t", "description": "Set window title", "takesValue": true },
64
+ { "name": "-T", "description": "Set terminal type ($TERM)", "takesValue": true },
65
+ { "name": "-U", "description": "Run in UTF-8 mode" },
66
+ { "name": "-wipe", "description": "Remove dead sessions instead of listing them" }
67
+ ],
68
+ "examples": [
69
+ { "command": "screen -S mysession", "description": "Start a new named session called 'mysession'" },
70
+ { "command": "screen -r mysession", "description": "Reattach to the detached session 'mysession'" },
71
+ { "command": "screen -ls", "description": "List all screen sessions" },
72
+ { "command": "screen -d -r", "description": "Detach elsewhere and reattach here" },
73
+ { "command": "screen -X quit", "description": "Send quit command to a running session" },
74
+ { "command": "screen -x mysession", "description": "Multi-attach to 'mysession' (shared viewing)" },
75
+ { "command": "screen -d -m -S bg_task ./long_script.sh", "description": "Start a detached session running a script" },
76
+ { "command": "screen -S mysession -X stuff 'ls\\n'", "description": "Type 'ls' and Enter into a running session" },
77
+ { "command": "screen -wipe", "description": "Clean up dead screen sessions" },
78
+ { "command": "screen -r -d mysession", "description": "Force detach from elsewhere and reattach here" }
79
+ ],
80
+ "relatedCommands": ["tmux"],
81
+ "contextEngine": {
82
+ "detectors": [
83
+ {
84
+ "name": "version",
85
+ "description": "Screen version",
86
+ "command": "screen --version 2>/dev/null",
87
+ "parser": "lines",
88
+ "cacheFor": 600,
89
+ "requiresCmd": "screen"
90
+ },
91
+ {
92
+ "name": "sessions",
93
+ "description": "Active screen sessions",
94
+ "command": "screen -ls 2>/dev/null | grep -E '\\(|Socket'",
95
+ "parser": "lines",
96
+ "cacheFor": 30,
97
+ "requiresCmd": "screen"
98
+ }
99
+ ]
100
+ }
101
+ }
@@ -0,0 +1,61 @@
1
+ {
2
+ "name": "top",
3
+ "description": "Display and manage Linux processes in real-time with an interactive full-screen interface",
4
+ "category": "System Monitoring",
5
+ "platforms": ["linux", "macos"],
6
+ "shells": ["bash", "zsh", "fish"],
7
+ "subcommands": [],
8
+ "globalOptions": [
9
+ { "name": "-h", "description": "Show usage information and exit" },
10
+ { "name": "-v", "description": "Show version info and exit" },
11
+ { "name": "-b", "description": "Batch mode - send output to stdout or file (useful for scripting, no interactive input)" },
12
+ { "name": "-c", "description": "Toggle full command line display vs. program name only" },
13
+ { "name": "-d", "description": "Delay time interval in seconds between screen updates (supports fractional seconds)", "takesValue": true },
14
+ { "name": "-H", "description": "Show individual threads instead of aggregating by process" },
15
+ { "name": "-i", "description": "Toggle idle process display - when set, tasks that have not used any CPU since the last update are hidden" },
16
+ { "name": "-n", "description": "Maximum number of iterations (refreshes) before exiting", "takesValue": true },
17
+ { "name": "-o", "description": "Sort by specified field name (e.g., %CPU, %MEM, TIME+, RES, PID)", "takesValue": true },
18
+ { "name": "-O", "description": "Print all available sort field names and exit" },
19
+ { "name": "-p", "description": "Monitor only processes with specified PIDs (comma-separated, max 20)", "takesValue": true },
20
+ { "name": "-u", "description": "Show only processes owned by the specified user (name or UID)", "takesValue": true },
21
+ { "name": "-U", "description": "Show only processes owned by the specified user (matches real, effective, saved, filesystem UID)", "takesValue": true },
22
+ { "name": "-1", "description": "Toggle single/separate CPU states display (show per-CPU stats)" },
23
+ { "name": "-E", "description": "Scale summary area memory units (k, m, g, t, p, e)", "takesValue": true },
24
+ { "name": "-e", "description": "Scale task area memory units (k, m, g, t, p, e)", "takesValue": true },
25
+ { "name": "-w", "description": "Set output width (in batch mode); without value uses 512 columns", "takesValue": true },
26
+ { "name": "-S", "description": "Toggle cumulative time mode (include dead child process time)" }
27
+ ],
28
+ "examples": [
29
+ { "command": "top", "description": "Launch interactive process viewer" },
30
+ { "command": "top -b -n 1", "description": "Batch mode with single iteration (for scripting)" },
31
+ { "command": "top -u www-data", "description": "Show only processes owned by www-data" },
32
+ { "command": "top -p 1234,5678", "description": "Monitor specific processes by PID" },
33
+ { "command": "top -o %MEM", "description": "Sort processes by memory usage" },
34
+ { "command": "top -d 5", "description": "Update display every 5 seconds" },
35
+ { "command": "top -b -n 5 -d 2 > top_output.txt", "description": "Capture 5 iterations at 2s intervals to a file" },
36
+ { "command": "top -H -p 1234", "description": "Show threads for a specific process" },
37
+ { "command": "top -1", "description": "Show individual CPU core statistics" },
38
+ { "command": "top -c -b -n 1 | head -30", "description": "Show full command lines in batch mode" }
39
+ ],
40
+ "relatedCommands": ["htop", "btop", "ps", "vmstat", "iostat"],
41
+ "contextEngine": {
42
+ "detectors": [
43
+ {
44
+ "name": "version",
45
+ "description": "top version information",
46
+ "command": "top -v 2>&1 | head -1",
47
+ "parser": "lines",
48
+ "cacheFor": 600,
49
+ "requiresCmd": "top"
50
+ },
51
+ {
52
+ "name": "snapshot",
53
+ "description": "Current top snapshot summary",
54
+ "command": "top -b -n 1 2>/dev/null | head -5",
55
+ "parser": "lines",
56
+ "cacheFor": 30,
57
+ "requiresCmd": "top"
58
+ }
59
+ ]
60
+ }
61
+ }
@@ -0,0 +1,85 @@
1
+ {
2
+ "name": "vim",
3
+ "description": "Vi IMproved - a highly configurable, powerful text editor for efficient text editing",
4
+ "category": "Text Editors",
5
+ "platforms": ["linux", "macos", "windows"],
6
+ "shells": ["bash", "zsh", "fish", "powershell"],
7
+ "subcommands": [],
8
+ "globalOptions": [
9
+ { "name": "--help", "description": "Show usage summary and exit" },
10
+ { "name": "--version", "description": "Print version and feature information, then exit" },
11
+ { "name": "-c", "description": "Execute given Ex command after loading the first file", "takesValue": true },
12
+ { "name": "--cmd", "description": "Execute given Ex command before loading any vimrc", "takesValue": true },
13
+ { "name": "-S", "description": "Source (execute) a Vim script file after loading the first file", "takesValue": true },
14
+ { "name": "-u", "description": "Use specified vimrc file instead of default (use NONE to skip all)", "takesValue": true },
15
+ { "name": "-N", "description": "Start in nocompatible mode (not Vi compatible)" },
16
+ { "name": "-R", "description": "Read-only mode - set 'readonly' option to prevent accidental writes" },
17
+ { "name": "-b", "description": "Binary mode - set options for editing binary files" },
18
+ { "name": "-d", "description": "Diff mode - open two or more files and show differences side by side" },
19
+ { "name": "-o", "description": "Open N files in horizontally split windows (one above the other)", "takesValue": true },
20
+ { "name": "-O", "description": "Open N files in vertically split windows (side by side)", "takesValue": true },
21
+ { "name": "-p", "description": "Open N files in separate tab pages", "takesValue": true },
22
+ { "name": "-r", "description": "Recovery mode - recover a previously edited file from swap file", "takesValue": true },
23
+ { "name": "-n", "description": "No swap file - editing will not create a .swp file (for fast editing of temp files)" },
24
+ { "name": "-e", "description": "Start in Ex mode (line-oriented editing, like running ex)" },
25
+ { "name": "-s", "description": "Silent (batch) mode - used with -e for scripted Ex commands from stdin" },
26
+ { "name": "-x", "description": "Encryption mode - prompt for an encryption key to encrypt the file on save" },
27
+ { "name": "--noplugin", "description": "Skip loading all plugins (plugin scripts are not sourced)" },
28
+ { "name": "--clean", "description": "Start Vim with default settings and no plugins (like -u DEFAULTS --noplugin)" },
29
+ { "name": "-t", "description": "Jump to a tag - find the tag in the tags file and position cursor there", "takesValue": true },
30
+ { "name": "+", "description": "Start at the end of the file" },
31
+ { "name": "+N", "description": "Start at line number N", "takesValue": true },
32
+ { "name": "+/pattern", "description": "Start at the first occurrence of search pattern", "takesValue": true },
33
+ { "name": "-i", "description": "Use specified viminfo file instead of default", "takesValue": true },
34
+ { "name": "-V", "description": "Verbose mode - set verbosity level (0-15) for debugging", "takesValue": true },
35
+ { "name": "-w", "description": "Record all typed characters to a script file", "takesValue": true },
36
+ { "name": "-W", "description": "Overwrite and record all typed characters to a script file", "takesValue": true },
37
+ { "name": "-Z", "description": "Restricted mode - disable shell commands and external programs" },
38
+ { "name": "--remote", "description": "Open files in an already running Vim server", "takesValue": true },
39
+ { "name": "--servername", "description": "Set the Vim server name for --remote communication", "takesValue": true }
40
+ ],
41
+ "examples": [
42
+ { "command": "vim file.txt", "description": "Open a file for editing" },
43
+ { "command": "vim -d file1 file2", "description": "Open two files in diff mode (vimdiff)" },
44
+ { "command": "vim -o file1 file2", "description": "Open files in horizontal splits" },
45
+ { "command": "vim -O file1 file2", "description": "Open files in vertical splits" },
46
+ { "command": "vim +42 file.txt", "description": "Open file and jump to line 42" },
47
+ { "command": "vim -c 'set number' file.txt", "description": "Open file with line numbers enabled" },
48
+ { "command": "vim -R /etc/passwd", "description": "Open file in read-only mode" },
49
+ { "command": "vim -p *.js", "description": "Open all JS files in separate tabs" },
50
+ { "command": "vim -r file.txt", "description": "Recover file from swap file after a crash" },
51
+ { "command": "vim --clean file.txt", "description": "Open file with no plugins or custom config" },
52
+ { "command": "vim -u NONE -N file.txt", "description": "Open file with no vimrc in nocompatible mode" },
53
+ { "command": "vim +/TODO file.txt", "description": "Open file and jump to first 'TODO'" },
54
+ { "command": "vim -b binary.dat", "description": "Open a binary file in binary mode" }
55
+ ],
56
+ "relatedCommands": ["nvim", "vi", "nano", "emacs"],
57
+ "contextEngine": {
58
+ "detectors": [
59
+ {
60
+ "name": "version",
61
+ "description": "Vim version and patch level",
62
+ "command": "vim --version 2>/dev/null | head -2",
63
+ "parser": "lines",
64
+ "cacheFor": 600,
65
+ "requiresCmd": "vim"
66
+ },
67
+ {
68
+ "name": "features",
69
+ "description": "Compiled Vim features",
70
+ "command": "vim --version 2>/dev/null | grep -E '^\\+|^-' | head -5",
71
+ "parser": "lines",
72
+ "cacheFor": 600,
73
+ "requiresCmd": "vim"
74
+ },
75
+ {
76
+ "name": "vimrc",
77
+ "description": "Detect user vimrc location",
78
+ "command": "ls ~/.vimrc 2>/dev/null || ls ~/.vim/vimrc 2>/dev/null",
79
+ "parser": "lines",
80
+ "cacheFor": 300,
81
+ "requiresCmd": "vim"
82
+ }
83
+ ]
84
+ }
85
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@enjoys/context-engine",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "description": "Comprehensive CLI command context engine with 133 tools — subcommands, options, examples, and runtime context detectors for intelligent terminal autocomplete",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",