Skip to content

Instantly share code, notes, and snippets.

@badlogic
badlogic / review-extension-v3.ts
Created January 16, 2026 14:02
Pi extension: /review - branch from root with UI side effects documented
import type { ExtensionAPI } from "@mariozechner/pi-coding-agent";
/**
* /review command - Create a review branch from root, return with summary
*
* Usage:
* /review - Start review branch from root (null parent)
* /end-review - Return to origin with auto-summary
* /end-review <text> - Return with custom summary text
*
@badlogic
badlogic / review-extension-v2.ts
Created January 16, 2026 13:56
Pi extension: /review command - branch from root (parentId: null), work, return with summary
import type { ExtensionAPI } from "@mariozechner/pi-coding-agent";
/**
* /review command - Create a review branch from root, return with summary
*
* Usage:
* /review - Start review branch from root (null parent)
* /end-review - Return to origin with auto-summary
* /end-review <text> - Return with custom summary text
*
@badlogic
badlogic / review-extension.ts
Created January 16, 2026 13:53
Pi extension: /review command - branch from root, work, return with summary (in-session branching)
import type { ExtensionAPI } from "@mariozechner/pi-coding-agent";
/**
* /review command - Create a review branch from root, return with summary
*
* Usage:
* /review - Start review branch from root
* /end-review - Return to origin with auto-summary
* /end-review <text> - Return with custom summary text
*
@badlogic
badlogic / review-extension-corrected.ts
Last active January 16, 2026 13:51
Pi extension: /review command for branching and returning with summary
import type { ExtensionAPI } from "@mariozechner/pi-coding-agent";
export default function (pi: ExtensionAPI) {
// Store review state
let reviewState: {
originalSessionFile: string;
reviewSessionFile: string;
branchFromId: string;
} | undefined;
@badlogic
badlogic / session.html
Created January 13, 2026 13:50
Token Clicker - We don't need your bank account, we need tokens
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Token Clicker - We don't need your bank account</title>
<style>
* {
margin: 0;
padding: 0;
@badlogic
badlogic / token-clicker.html
Last active January 13, 2026 13:49
Token Clicker - We don't need your bank account, we need tokens
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Token Clicker - We don't need your bank account</title>
<style>
* {
margin: 0;
padding: 0;
@badlogic
badlogic / session.html
Created January 1, 2026 11:28
pi session export - export-html rewrite conversation
This file has been truncated, but you can view the full file.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Session 7609c215-fea3-4e26-af1e-44a78b432602 - pi</title>
<style>
:root {
--accent: #8abeb7;
--border: #5f87ff;
@badlogic
badlogic / this-session.html
Created January 1, 2026 11:26
pi session export - export-html rewrite conversation
This file has been truncated, but you can view the full file.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Session 7609c215-fea3-4e26-af1e-44a78b432602 - pi</title>
<style>
:root {
--accent: #8abeb7;
--border: #5f87ff;

Mom Artifacts Server Setup Guide

Share HTML files, visualizations, and interactive demos publicly via Cloudflare Tunnel with live reload support.

What is it?

The artifacts server lets Mom create HTML/JS/CSS files that you can instantly view in a browser, with WebSocket-based live reload for development. Perfect for dashboards, visualizations, prototypes, and interactive demos.

Installation

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Three.js Spinning Cube</title>
<style>
body {
margin: 0;
overflow: hidden;