Skip to content

Instantly share code, notes, and snippets.

View johnwheeler's full-sized avatar
🏠
Working from home

John Wheeler johnwheeler

🏠
Working from home
  • San Diego, California
View GitHub Profile
@johnwheeler
johnwheeler / CLAUDE.md
Last active June 4, 2025 05:33
CLAUDE.md

screen.cam Project

A modern pnpm workspace project with NextJS and ChakraUI, structured for component-driven development with enterprise-grade code quality tools.

Repository: https://github.com/johnwheeler/screencam (Private)

IMPORTANT: This documentation should be kept concise and focused on essential information for development. Avoid adding comprehensive documentation unless it provides clear value for daily development workflow. When adding new sections, evaluate their importance relative to existing content.

IMPORTANT: The CLAUDE_BUILD environment variable is set by Claude Code to build to /tmp instead of .next, preventing interference with the dev server. This is why you see CLAUDE_BUILD=1 pnpm build in the commands.

{
"id": "WCl2KUGffo0MXZu",
"clips": [
{
"id": "CnWB7ZArBwutHkB",
"events": [
{
"id": "4wa3M1GIsRaqQSo",
"type": "mousemove",
"position": {
<Flex w="full" h="full" alignItems="center" justifyContent={'center'} direction="column" gap={5}>
<Flex
padding={isMonitorDisplaySurface(recorder$.screenPreviewStream.get()) ? 0 : 5}
h="55%"
aspectRatio={16 / 9}
maxH="800px"
position="relative"
overflow="clip"
rounded="md"
shadow="md"
output_file="/Users/jwheeler/Desktop/combined_src_files.txt"
www_src_directory="/Users/jwheeler/Projects/demofun/www/src"
api_src_directory="/Users/jwheeler/Projects/demofun/api/src"
# Clear the output file if it already exists
> "$output_file"
# Function to process files
process_files() {
local directory=$1
import { Button, Flex } from '@chakra-ui/react'
import { createMachine, guard, invoke, reduce, state, transition } from 'robot3'
import { useEffect, useState } from 'react'
import { createUseMachine } from 'robot-hooks'
const useMachine = createUseMachine(useEffect, useState)
// @formatter:off
const mergeIncoming = reduce((c, e) => ({ ...c, ...e.value }))
#!/usr/bin/env python
"""
pip install tiktoken requests
export OPENAI_API_KEY=<redact>
chmod +x prepare-commit-msg
mv prepare-commit-msg .git/hooks/
"""
import math
@johnwheeler
johnwheeler / memory_game.py
Created August 24, 2016 22:38
memory_game.py
import logging
from random import randint
from flask import Flask, render_template
from flask_ask import Ask, statement, question, session
app = Flask(__name__)
ask = Ask(app, "/")
logging.getLogger("flask_ask").setLevel(logging.DEBUG)
CFLAGS="-I/usr/local/opt/openssl/include" LDFLAGS="-L/usr/local/opt/openssl/lib" UWSGI_PROFILE_OVERRIDE=ssl=true pip install uwsgi -Iv
import os
import yaml
import inspect
from functools import wraps, partial
from xml.etree import ElementTree
import aniso8601
from werkzeug.local import LocalProxy
from jinja2 import BaseLoader, ChoiceLoader, TemplateNotFound
from flask import current_app, json, request as flask_request, _app_ctx_stack
import os
import base64
import posixpath
from datetime import datetime
from six.moves.urllib.parse import urlparse
from six.moves.urllib.request import urlopen
from . import logger