Make a .scratch directory to keep random scribbles in

Overview

mkscratch

Creates a directory named .scratch in your current working directory which will be ignored by Git. Useful for keeping around miscellaneous files that you don't want to be tracked/shared.

Some things you might want to keep in a .scratch directory:

  • A cheat sheet of useful Git commands that are maybe a little too complex to remember
  • A Docker build command you've had to spend 10 minutes figuring out one two many times
  • A JSON dump of some obscure API response that isn't well documented, to have for reference
  • A backup of your .env files in case something goes wrong, so that you don't have to hunt down/regenerate all of your keys and passwords
  • Maybe you want to write a super small proof-of-concept test program and keep it around to expand on later if it works
  • Bash scripts that you find useful but that might not be very generic, or you don't think others would find useful
  • A quick list of known-good IDs you can use when testing SQL queries against a database. Keep a couple IDs around for entries in each table that you can pull up quickly.

These are just a handful of things I've personally used .scratch directories for. The basic idea is that if you have some piece of text you'd like to keep around for later, but you don't know where to put it, just put it in .scratch so that you can move on and stay focused.

Installation

cargo install mkscratch

I'll probably come up with some way to install prebuilt binaries later, so you don't have to have Rust/Cargo installed.

Usage

➜  pwd
/Projects/example/
➜  ls -a
.           ..          .git        .github     .gitignore  Cargo.lock  Cargo.toml  README.md   src         target
➜  mkscratch
Created /Projects/example/.scratch
➜  ls -a
.           ..          .git        .github     .gitignore  .scratch    Cargo.lock  Cargo.toml  README.md   src         target

Now you have a .scratch directory to keep scratch files in!

You might also like...
cargo-add command to make dependencies into dylibs

cargo add-dynamic This cargo command allows to wrap dependencies as dylibs. For why you might want this see Speeding up incremental Rust compilation w

Make your IDs strongly typed!!

About TypedId introduces a single type, aptly named TypedId. This is a generic wrapper any type, often types that you would use as an identifier. Howe

A collection of crates to make minecraft development (client, server) with rust possible.

rust-craft rust-craft is a collection of crates to make minecraft development (client, server) with rust possible. Motivation There's no better way of

A typed map which can make sure item exist.

Certain Map A typed map which can make sure item exist. What Problem Does It Solve In Rust, we often use Service abstraction for modular structure des

Aim is to make PCBoard clone that's finished on PCboards 100th birthday
Aim is to make PCBoard clone that's finished on PCboards 100th birthday

icy_board Aim is to make PCBoard clone that's finished on PCboards 100th birthday - for sure it'll take much time. I've started to port a PPL decompil

Convert your ascii diagram scribbles into happy little SVG

Svgbob Svgbob can create a nice graphical representation of your text diagrams. Svgbob provides a cli which takes text as an input and creates an svg

File Tree Fuzzer allows you to create a pseudo-random directory hierarchy filled with some number of files.

FTZZ File Tree Fuzzer allows you to create a pseudo-random directory hierarchy filled with some number of files. Installation $ cargo +nightly install

Mount portable directory as consistent user directory.
Mount portable directory as consistent user directory.

PortableDesktop Mount portable directory as consistent user directory. PortableDesktopCli help PortableDesktopCli [options] Target Path Link Path

Keep your dependencies up-to-date
Keep your dependencies up-to-date

Deps.rs - Dependency status at a glance Deps.rs is a service that shows you at a glance if any of your dependencies are out of date or insecure. This

A simple menu to keep all your most used one-liners and scripts in one place
A simple menu to keep all your most used one-liners and scripts in one place

Dama Desktop Agnostic Menu Aggregate This program aims to be a hackable, easy to use menu that can be paired to lightweight window managers in order t

Kiss3d - Keep it simple, stupid 3d graphics engine for Rust.

Kiss3d - Keep it simple, stupid 3d graphics engine for Rust.

Keep distractive apps at bay allowing you to focus!
Keep distractive apps at bay allowing you to focus!

Focus Keep distractive apps at bay allowing you to focus! What it does. The apps specified are killed automatically after a period of 5 seconds till t

This repo contains crates that are used to create the micro services and keep shared code in a common place.

MyEmma Helper Crates This repo contains crates that can are reused over different services. These crate are used in projects at MyEmma. But these crat

Scouty is a command-line interface (CLI) to keep an eye on substrate-based chains and hook things up
Scouty is a command-line interface (CLI) to keep an eye on substrate-based chains and hook things up

scouty is a command-line interface (CLI) to keep an eye on substrate-based chains and hook things up

Deadliner helps you keep track of the time left for your deadline by dynamically updating the wallpaper of your desktop with the time left.
Deadliner helps you keep track of the time left for your deadline by dynamically updating the wallpaper of your desktop with the time left.

Deadliner Watch the YouTube video What's Deadliner? Deadliner is a cross-platform desktop application for setting deadline for a project and keeping t

gfold is a CLI-driven application that helps you keep track of multiple Git repositories.

gfold is a CLI-driven application that helps you keep track of multiple Git repositories.

rust channel benchmarks to keep stat of performance of Kanal library in comparison with other competitors.
rust channel benchmarks to keep stat of performance of Kanal library in comparison with other competitors.

Rust Channel Benchmarks This is a highly modified fork of the crossbeam-channel benchmarks. to keep track of Kanal library stats in comparison with ot

Helps you keep track of time for team members across different time zones & DST changes

Teamdate Helps you keep track of time for team members across different timezones and other daylight saving changes based off their location. Because

A Yocto setup and management tool that helps you keep your environment up-to-date and in-sync with your team
A Yocto setup and management tool that helps you keep your environment up-to-date and in-sync with your team

yb (Yocto Buddy) yb is designed to make it easy to setup and (perhaps more importantly) keep Yocto environments up-to-date and in-sync with your team.

Owner
Kayla
Aspiring wannabe · @facet-ai · she/her 🏳️‍⚧️
Kayla
Keep a Hetzner Cloud firewall up to date with your dynamic public IP address.

hcloud-firewall-controller hcloud-firewall-controller determines the current public IP and creates or updates a Hetzner Cloud firewall with this IP. S

Max Rosin 4 Feb 6, 2023
Microservice written in Rust from scratch.

Simple-ms This Repo This repository contains code for a microservice written in Rust using the Tokio Axum framework. This code is used in MongoDB's wo

MongoDB Developer Relations 5 Nov 10, 2022
Neural Network implementation from scratch using Cairo 1.0

Neural Network for MNIST in Cairo 1.0 Implementation of a Neural Network from scratch using Cairo 1.0 for MNIST predictions. The NN has a simple two-l

Fran Algaba 6 Mar 14, 2023
A comprehensive and FREE Online Rust hacking tutorial utilizing the x64, ARM64 and ARM32 architectures going step-by-step into the world of reverse engineering Rust from scratch.

FREE Reverse Engineering Self-Study Course HERE Hacking Rust A comprehensive and FREE Online Rust hacking tutorial utilizing the x64, ARM64 and ARM32

Kevin Thomas 98 Jun 21, 2023
Linked Atomic Random Insert Vector: a thread-safe, self-memory-managed vector with no guaranteed sequential insert.

Linked Atomic Random Insert Vector Lariv is a thread-safe, self-memory-managed vector with no guaranteed sequential insert. It internally uses a linke

Guillem Jara 8 Feb 1, 2023
Scans a given directory for software of unknown provinence (SOUP) and dumps them in a json-file

Scans a given directory for software of unknown provinence (SOUP) and writes them to a json-file. The json-file contains name, version and a meta property for each SOUP.

Dunklas 4 Jul 5, 2022
Make and use playgrounds locally.

cargo playground Cargo playground opens a local playground in the editor of your choice. Install You can install it directly using cargo $ cargo insta

null 18 Jan 3, 2023
A tool to make grocery lists written in Rust

grusterylist: makes grocery lists, written in Rust grusterylist uses and can add to local libraries of user-added recipes and grocery items to put tog

null 3 Jun 17, 2022
A webring of people who make cool stuff. technology, music, art, writing, anything goes!

a webring of people who make cool stuff. technology, music, art, writing, anything goes!

Kognise 44 Dec 6, 2022
rust database for you to use and help me make!

Welcome To Rust Database! What is this? this is a database for you to git clone and use in your project! Why should i use it? It is fast and it takes

Carghai74 2 Dec 4, 2022