Code is cheap. Intent is scarce.
A Base24 color scheme for the post-artisanal coding era. As models write more code, Human++ makes human judgment visible at a glance through a two-tier accent system and lightweight annotation markers.
Traditional syntax highlighting treats all code equally. Human++ doesn't.
Everyday code — keywords, strings, functions — uses muted colors that fade into the background. You've seen this code a thousand times.
Errors, warnings, and human markers demand attention with vibrant, saturated colors. When you see color, it means something.
Terminal output is intentional — you typed it. Terminals get loud colors for normal text, quiet for bright. Inverted from the editor.
See Human++ across different languages. Notice how syntax stays quiet while markers pop.
interface User {
id: string;
email: string;
createdAt: Date;
}
// !! Critical: rate limiting depends on this cache key format
async function getUser(id: string): Promise<User | null> {
const cached = await redis.get(`user:${id}`);
if (cached) {
return JSON.parse(cached);
}
// ?? Should we add retry logic here?
const user = await db.users.findUnique({ where: { id } });
if (user) {
// >> See config.ts for TTL settings
await redis.set(`user:${id}`, JSON.stringify(user), 'EX', 3600);
}
return user;
}
from dataclasses import dataclass
from typing import Optional
import asyncio
@dataclass
class Order:
id: str
total: float
items: list[str]
# !! Critical: this runs in production every 5 minutes
async def process_pending_orders() -> int:
orders = await db.fetch_pending()
processed = 0
for order in orders:
# ?? Not sure if we need to handle partial refunds here
if order.total > 10000:
await flag_for_review(order)
continue
# >> See payment_gateway.py for Stripe integration
result = await charge_customer(order)
if result.success:
processed += 1
return processed
use std::collections::HashMap;
#[derive(Debug, Clone)]
struct Config {
max_retries: u32,
timeout_ms: u64,
}
// !! Critical: this is called on every request
pub fn validate_token(token: &str) -> Result<Claims, AuthError> {
let parts: Vec<&str> = token.split('.').collect();
if parts.len() != 3 {
return Err(AuthError::MalformedToken);
}
// ?? Should we cache decoded tokens?
let claims = decode_jwt(parts[1])?;
// >> See crypto.rs for signature verification
verify_signature(token, &claims.key_id)?;
Ok(claims)
}
Errors and warnings pop. Syntax stays quiet. Problems are impossible to miss.
Lightweight punctuation markers that flag human judgment in comments.
Install the extension for the complete Human++ experience.
# Install from marketplace $ code --install-extension fielding.human-plus-plus # Or search "Human++" in the extensions panel
Quiet syntax highlighting with loud diagnostics. The full Human++ palette for your editor.
Comments with !! ?? >> get highlighted backgrounds.
Errors and warnings appear as inline badges at the end of lines. No hovering required.
Cool charcoal grays, warm cream text, 24 colors in the Base24 system.
Human++ works with tinty and standard Base24 tooling.
# Clone the repo $ git clone https://github.com/fielding/human-plus-plus # Build all theme files from palette.toml $ make build # Apply with tinty $ tinty apply base24-human-plus-plus
ghostty/config
vim/colors/
iterm/
sketchybar/
borders/
skhd/
base24/