Skip to content

MichaelWeissDEV/ts-chef

Repository files navigation

ts-chef logo

ts-chef

CyberChef-style data transformations directly inside Visual Studio Code.

Visual Studio Marketplace version CI status License

Overview

ts-chef is a Visual Studio Code extension for transforming, decoding, encoding, inspecting, and analyzing data without leaving the editor. It brings a CyberChef-inspired workflow into VS Code, with a TypeScript-based operation engine and editor-focused tools for day-to-day security, development, and troubleshooting work.

Use it to inspect encoded strings, build repeatable transformation pipelines, decode suspicious payloads, format structured data, calculate hashes, test ciphers, and quickly move between raw input and usable output.

Features

  • 480+ operations for encoding, decoding, hashing, compression, cryptography, parsing, formatting, images, and text processing.
  • Quick Convert for applying suggested transformations directly to selected editor text.
  • Pipeline Editor for composing multi-step recipes with configurable operation arguments.
  • Pattern scanning to detect Base64, hex, URLs, and other recognizable data in documents.
  • Inline highlighting and hovers for discovered patterns and quick conversion previews.
  • Saved pipelines for reusable workflows across a workspace.
  • Variable support for storing values and reusing them in later pipeline steps.
  • Deep Analysis for exploring selected data and identifying likely formats or encodings.

Installation

Install ts-chef from the Visual Studio Marketplace, or search for ts-chef in the VS Code Extensions view.

Requirements:

  • Visual Studio Code 1.85.0 or newer

Usage

Quick Convert

  1. Select text in the editor.
  2. Open the context menu.
  3. Choose tschef: Quick Convert Selection.
  4. Pick one of the suggested transformations.

Pipeline Editor

  1. Open the command palette.
  2. Run tschef: Open Pipeline Editor.
  3. Add operations, configure their arguments, and bake the selected input.
  4. Save pipelines when you want to reuse a recipe later.

Pipeline Syntax

You can run pipelines programmatically or via commands using the pipe-syntax string representation.

Syntax format:

OperationName | OperationName(arg1=value1, arg2=value2)
  • Steps are separated by the pipe character |.
  • Arguments for an operation are passed inside parentheses (...) as key=value pairs or indices.
  • Example:
    From Base64 | To Hex(Uppercase=true) | URL Encode
    
  • Pipe characters inside parentheses are preserved and not treated as step separators (e.g. for regex patterns).

Document Scanning

Run tschef: Scan Document for Patterns to find recognizable encoded or structured values in the current document. Detected values can be highlighted in the editor and inspected through hover actions.

Useful settings:

  • tschef.highlightingEnabled controls editor highlighting.
  • tschef.confidenceThreshold controls when hover conversion options are shown.
  • tschef.autoScanOnSave scans documents automatically when they are saved.

Documentation

Development

Clone the repository and install dependencies:

git clone https://github.com/MichaelWeissDEV/ts-chef.git
cd ts-chef
npm install

Common commands:

npm run build
npm test
npm run lint
npm run package

Project layout:

  • src/extension.ts contains the VS Code extension entry point.
  • src/chef/ contains the TypeScript operation engine.
  • src/chef/operations/ contains individual transformation operations.
  • src/providers/ contains VS Code tree, hover, scan, and decoration providers.
  • src/panels/ contains the pipeline editor webview.
  • test/ contains the test suite.

License

This project is licensed under the Apache License 2.0.

Many operations are ported from GCHQ CyberChef, which is also licensed under Apache 2.0.

About

Cyberchef in VS-Code

Resources

License

Contributing

Stars

Watchers

Forks

Packages

 
 
 

Contributors