Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Kvazemorda/CommitPyramid

Open more actions menu

Repository files navigation

CommitPyramid

Your real work builds a virtual city. A native macOS ambient companion that turns your closed tasks, git commits, and notes into an ever-growing isometric city — kept always behind your other windows so it lives on your desktop without distracting you.

CommitPyramid screenshot placeholder

What it is

You give CommitPyramid a stream of "things you closed" — completed tasks from your task manager, commits from your repositories, or [x] checkboxes in your notes. Each item builds a tile in your city. Long-untouched projects fall into disrepair; revived projects bloom again. Stages, evolution chains, biomes, and NPC citizens emerge from your real activity.

It is not gamification with badges. It is ambient feedback — a city that quietly reflects what you actually did this week.

Status

This project is in active development. Core mechanics work; the visual layer relies on procedural placeholder sprites until contributors generate themed PNG assets via the catalog in docs/asset-prompts.md.

Convergence (May 2026): 17 of 19 features done, 2 partial. See docs/architecture.md for the technical map.

Install

Requirements:

  • macOS 14 (Sonoma) or later
  • Xcode 15+ (Command Line Tools are not enough — the SpriteKit + XCTest stack needs the full Xcode)
  • Swift 5.10

Build and run:

git clone https://github.com/Kvazemorda/CommitPyramid.git
cd CommitPyramid
swift build
swift run CommitPyramid

The app starts as a translucent window pinned behind all other apps. Press ⌘⌥G anywhere to bring it to the foreground (explore mode) and back.

How it works

CommitPyramid reads from event sources, each implementing the EventSource protocol:

  1. tasks.jsonl watcher — one line per completed task. The simplest source, written by an external script or a cron job.
  2. Notes/Folder watcher — scans .md files for [x] checkboxes, headings, bullets, or frontmatter, configurable in Settings.
  3. Git watcher — runs git log --since=<last-check-ts> on configured local repositories, optionally derives weight from diff size and category from conventional-commit prefix.
  4. In-app journal — type a task directly in the side panel or contextually by clicking an empty tile.

Every event becomes a task_completed line in events.jsonl. The engine deterministically builds units, raises stages, ages buildings into ruins, and animates citizens — all replayable from the log alone.

For the full architecture see docs/architecture.md.

How to contribute

There are two main ways to help:

Code

Art

The city currently renders procedural placeholders for all buildings and biomes — coloured isometric primitives. The visual goal is a Pharaoh-style hand-painted look (sand, ochre, lapis, reed greens). We have a complete prompt catalog for AI image generators (Midjourney, DALL·E, SDXL):

  • Read docs/CONTRIBUTING-ASSETS.md — pipeline from prompt to merged PNG.
  • Pick any unit or biome from docs/asset-prompts.md, generate it, open a PR with the PNG.
  • Every merged sprite immediately replaces its procedural placeholder in the next build — no code changes needed.

Concept and product principles

License

MIT. See LICENSE.

Maintainer

@Kvazemorda

About

Your real work builds a virtual city. macOS ambient companion that turns closed tasks, git commits, and notes into an ever-growing isometric city.

Topics

Resources

Contributing

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.