June 23rd, 2024

Stamp: A Mini-Language for Templates

Stamp is a concise mini-language for project templates, enabling easy creation and management of files and directories for various programming languages. Created by Breck Yunits and Guillaume Papin, it requires Scroll for installation and offers a simple alternative to tools like cookiecutter.

Read original articleLink Icon
Stamp: A Mini-Language for Templates

Stamp is a mini-language designed for project templates, simplifying the creation, editing, sharing, and expansion of templates for various programming languages like React, Rails, Django, and more. With Stamp, users can generate files like readme.md and .gitignore, as well as set up directories like src/ and tests/ with ease. This tool, created by Breck Yunits and Guillaume Papin, consists of only 60 lines of code, making it concise and efficient. To use Stamp, users need to install Scroll, create a template file, and run the build command. While similar tools like cookiecutter exist, Stamp offers a straightforward approach to managing project templates.

Related

Sloth search for Ruby Weekly – a 100 minute hack turned 20h open sauce project

Sloth search for Ruby Weekly – a 100 minute hack turned 20h open sauce project

Sloth Finder, a Ruby and Rails tool, curates niche articles on API and automation. It emphasizes simplicity, slow loading times, and plans to upgrade its tech stack for efficiency. Open source on GitHub.

Software Engineering Practices (2022)

Software Engineering Practices (2022)

Gergely Orosz sparked a Twitter discussion on software engineering practices. Simon Willison elaborated on key practices in a blog post, emphasizing documentation, test data creation, database migrations, templates, code formatting, environment setup automation, and preview environments. Willison highlights the productivity and quality benefits of investing in these practices and recommends tools like Docker, Gitpod, and Codespaces for implementation.

Show HN: Sandcastle – a minimal, lightweight build tool and shell automator

Show HN: Sandcastle – a minimal, lightweight build tool and shell automator

SandCastle is a versatile lightweight build tool for various languages and shells. Users define tasks in a _castle.yaml_ file, supporting shells like bash and zsh. Installation offers pre-built binaries or source compilation for Windows, Linux, and MacOS.

HyperCard Simulator

HyperCard Simulator

A HyperCard simulator replicates HyperCard stacks and archives, detailing stack components, properties, fields, styles, and alignment. It covers account management, scripting language grammar, interface tools, and stack management options.

Show HN: a Rust lib to trigger actions based on your screen activity (with LLMs)

Show HN: a Rust lib to trigger actions based on your screen activity (with LLMs)

The GitHub project "Screen Pipe" uses Large Language Models to convert screen content into actions. Implemented in Rust + WASM, inspired by `adept.ai`, `rewind.ai`, and `Apple Shortcut`. Open source under MIT license.

Link Icon 3 comments
By @noelwelsh - 4 months
A good first step would be writing some real documentation for this. The example is not sufficient.
By @ianbicking - 4 months
Very... confusing?

I'm assuming you define a file system structure using filenames and indentation, with names ending with a / meaning a directory, and content indented under a filename meaning the file contents. But it actually took me several takes to correctly read the indentation.

The result is a kind of text-only zip archive? That's not very helpful.

Actual templates have substitutions, like you enter the name of your project and that's used in the text of the files. You could do that as a preprocessing step, I guess, but what's the point? Also it will be hard to ensure the integrity of the archive if you do simple textual substitutions.

Also I'm pretty sure from the code that you can just make an archive like this:

    ~/.ssh/config
     let me overwrite your file!
By @kkukshtel - 4 months
[deleted] - i was wrong!