Skip to content

Instantly share code, notes, and snippets.

@possibilities
Created March 17, 2026 02:46
Show Gist options
  • Select an option

  • Save possibilities/f73c7622186a5407e5b5db7accd9dca6 to your computer and use it in GitHub Desktop.

Select an option

Save possibilities/f73c7622186a5407e5b5db7accd9dca6 to your computer and use it in GitHub Desktop.

Manifest Description Audit

Goal: Every project should have a description in its pyproject.toml or package.json so choosectl list-project-descriptions returns real descriptions instead of CLAUDE.md fallbacks.


Executive Summary

10 projects across ~/code/ and ~/experiment/ have manifest files but are missing proper descriptions. 3 have no description field at all in pyproject.toml, 4 have the placeholder "Add your description here", and 3 package.json projects are missing the field entirely. Many other directories (banking, dotfiles, email, etc.) have no manifest file and are out of scope.


Projects Needing Fixes

pyproject.toml — missing description entirely

Project Suggested description
~/code/claudehooks "Test Claude Code hooks end-to-end via pexpect PTY harness"
~/code/codebench "Benchmark codectl output against RepoPrompt and other generators"
~/code/planctl "Manage project plans, epics, and tasks from the CLI"

pyproject.toml — placeholder "Add your description here"

Project Suggested description
~/code/fastclaude "Benchmark the fastest way to invoke Claude programmatically"
~/code/scraping "Scrape and store web content with SQLite persistence"
~/code/smolkey "QMK firmware and configuration for a Ryan Bates ElevenKey macropad"
~/experiment/pdffiller "Fill and sign PDF forms programmatically with PyMuPDF"

package.json — missing description field

Project Suggested description
~/code/bigtext "Render routable full-screen big text pages from YAML"
~/code/nature "Identify plants, animals, and tracks with your camera"
~/code/resume "Render resumes and cover letters from structured YAML data"

Already Good (have proper descriptions)

Project Source Description
~/code/arthack (skipped) polyglot monorepo
~/code/codectl pyproject.toml "Automatic context bundle generator for code projects"
~/code/contextctl pyproject.toml "Claude Code plugin for automatic codebase context injection via codectl"
~/code/zalgoctl pyproject.toml "The best damn Zalgo text generator on the planet"

Out of Scope — No Manifest File

These directories have no pyproject.toml or package.json and are skipped:

banking, blackbird, blackbird-system, bodycams, content, docs, dotfiles, email, iconfind, jobsearch, mcp, midbird, music, notes, old, poptui, silverbird, voice-of-arthacker, and ~20 others that are notes/research directories.


How descriptions are resolved

choosectl checks in order:

  1. pyproject.toml[project].description
  2. package.jsondescription
  3. CLAUDE.md → first prose sentence (fallback, capped at 100 chars)

Projects falling back to CLAUDE.md show up with prose-style descriptions that don't match the verb-phrase convention.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment