Skip to content

Instantly share code, notes, and snippets.

View craftybones's full-sized avatar

Srijayanth Sridhar craftybones

  • Bangalore, India
View GitHub Profile
@craftybones
craftybones / 01_instructions.md
Last active June 25, 2026 05:33
Writing Agent specs

Introduction

This document provides a framework for writing comprehensive specifications for software features and AI agents.

A good specification does more than describe functionality. It explains why a capability exists, what it is responsible for, how it behaves, how it will operate in production, and how it will evolve over time.

A specification should allow a new engineer, product manager, designer, operator, or AI agent to understand the system without relying on tribal knowledge or external context.

Every section in this guide contributes to answering one of five questions:

@craftybones
craftybones / tools.md
Last active June 22, 2026 12:41
Tools

Software Delivery Project Technology Landscape

A Practical Guide for New Engineers

Introduction

In training, most engineers learn programming languages, algorithms, databases, and software engineering principles. In real-world projects, however, applications are built and operated using an ecosystem of specialized tools and platforms.

This document provides an overview of common technology categories encountered in modern software delivery projects. It is intended as a reference guide to help new engineers understand the purpose of each class of tools and recognize common products used in the industry.

🗺️ The Journeys

🚀 1. Ship a SaaS

Build complete products end-to-end

This is for you if:

  • You want to launch real apps (and maybe make money)
  • You like owning everything: UI → API → DB → deploy

Common Errors Across Projects

Categories

  1. Weak Separation of Concerns
  2. Domain Layer Leaking HTTP Concepts
  3. Missing or Improper Dependency Injection
  4. Missing Persistence or Improper Storage Design
  5. Weak or Absent Automated Testing
  6. Inconsistent API Contracts Between Frontend and Backend
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Styled Tables Showcase</title>
<style>
body {
font-family:

Dependency Injection (DI) with Functions in Deno (JavaScript Only)

We do not inject data. We inject behavior and resources (functions and streams).

✅ Inject what does the work ❌ Do NOT inject the result of the work


❌ Not Dependency Injection: Injecting Values


TODO List Manager

Extend the existing to-do application to support multiple todo lists. Users should be able to create and manage separate lists, each with its own set of todo items.

Features

  • Create a new todo list by providing a title.
  • View all existing todo lists.
  • Add a todo item to a specific list.

Playlist Manager

Overview

The Playlist Manager is a simple web-based application that allows users to create and manage playlists. Users can view all playlists, inspect individual playlists, add and remove songs, and delete playlists.

Features

1. View Playlists

Extend generatePattern with a Secondary Pattern

Instructions

Your task is to modify the generatePattern(style, dimensions, secondStyle) function to support generating two patterns side by side. The patterns will share the same dimensions and will be separated by a single space.


Key Details

Hollow Diamond Pattern

Instructions

Your task is to extend the functionality of the generatePattern(style, dimensions) function to support a new pattern type: hollow-diamond.

For this assignment, the style parameter will be "hollow-diamond", and the dimensions parameter will be an array containing a single number [size] where:

  • size specifies the width and height of the diamond (both are the same).
  • Only odd numbers are valid for size: