biopsy
v0.0.1
Published
Get file(s) from url, local file system or buffer.
Maintainers
Readme
biopsy
Get files from URLs, local file system, or buffer with support for snippets and content processing.
Installation
# Install globally for CLI use
npm install -g biopsy
# Or use with npx (no installation required)
npx biopsy <src> [dst]Usage
CLI Usage
biopsy <src> [dst]Module Usage
import { biopsy } from 'biopsy';
const result = await biopsy('@g:microsoft/vscode/package.json');
console.log(result.content);Arguments
src (required)
Source can be:
- Local file path:
./file.txt,/path/to/file.js - HTTP/HTTPS URL:
https://example.com/file.json - Snippet:
@g:user/repo/file.js(see snippets below) - Buffer/stdin:
_(reads from stdin)
dst (optional)
Destination can be:
- File path:
output.txt(saves to file) - Directory:
./outputs/(saves with original filename) - Command:
:j,:b(processes content, outputs to stdout) - Stdout:
-or omit for stdout
Snippets
| Snippet | Description | Example |
|---------|-------------|---------|
| @g:user/repo/file | GitHub | @g:microsoft/vscode/package.json |
| @@:repo/file | n-p-x GitHub org | @@:biopsy/README.md |
| @l:user/repo/file | GitLab | @l:gitlab-org/gitlab/package.json |
| @b:user/repo/file | Bitbucket | @b:atlassian/bitbucket/package.json |
| @s:gist_id | GitHub Gist | @s:1234567890abcdef |
| @p:paste_id | Pastebin | @p:abcd1234 |
Commands
| Command | Description | Example |
|---------|-------------|---------|
| :j | JSON stringify (pretty print) | biopsy data.json :j |
| :b | Base64 encode | biopsy file.txt :b |
Examples
# Fetch from GitHub and display
biopsy @g:microsoft/vscode/package.json
# Fetch from GitHub and pretty-print JSON
biopsy @g:microsoft/vscode/package.json :j
# Fetch from n-p-x org
biopsy @@:create-ts-project/package.json
# Download from URL to local file
biopsy https://example.com/data.json ./local-data.json
# Read from stdin and encode as base64
echo "Hello World" | biopsy _ :b
# Convert local file to base64
biopsy ./image.png :b > encoded.txt
# Process stdin JSON
echo '{"name":"test"}' | biopsy _ :j
# Save to directory with original filename
biopsy @g:microsoft/vscode/README.md ./downloads/API
biopsy(src, dst)
Returns a promise that resolves to:
{
content: string, // The file content
path: string // The output path (or '-' for stdout)
}Requirements
- Node.js >= 18.0.0 (for built-in fetch support)
License
ISC
