Skip to main content

How to build software with agents that don't remember anything.

Project description

Living Projects

How to build software with agents that don't remember anything.

Living Projects is a small set of files and skills that lets a project remember itself across sessions, so the agent picks up where you left off and you stop carrying the project in your head.

I built this after a year of building Levelang across more than a hundred Claude Code sessions, where every session began with the same warmup of retyping context and re-explaining decisions. The full argument is in MANIFESTO.md.

Quickstart

Install into a new or existing project directory:

uvx living-projects init

The installer asks for the project name and your name, refuses to overwrite existing state on disk, and writes the substrate skeleton to .product/, .claude/, and .living-project/. uvx resolves and runs the latest release from PyPI in an ephemeral environment — no clone, no global Python footprint, no install to remember.

For non-interactive runs:

uvx living-projects init --project-name myproject --principal "My Name"

After init, three moves get the project remembering:

  1. Open .product/context/ and fill in the stub files. Start with principal.md, product.md, and principles.md — they shape every recommendation the substrate makes after that. Most files are short.
  2. Open the directory in Claude Code and run /plan for a tactical recommendation on what to work on first.
  3. Run /status any time for a quick orientation.

What ships with init

Eleven skills land as slash commands in Claude Code:

  • /plan — tactical recommendation on what to work on next.
  • /status — lightweight dashboard of git state, backlog, decisions, and freshness.
  • /backlog — add, update, list, close, and archive backlog items.
  • /decide — capture an architectural or product decision.
  • /research — web research that produces a sourced brief.
  • /draft — draft prose in the project's voice.
  • /refine — refine existing prose against the project's voice rules.
  • /audit — deep self-assessment of project state, producing a persistent artifact.
  • /review — review the history and current state of a specific scope.
  • /retro — activity summary across a time window.
  • /close — session close-out: archive completed items, journal work, verify git state.

Plus two rules the agent reads:

  • bash-commands.md — shell conventions (no cd, no ; outside control flow keywords, one construct per call).
  • session-init.md — what the agent reads first when a session begins.

What's not here yet

v0.1 ships the install path and the skills. The following are explicit follow-ups, not omissions:

  • Retrieval substrate — opt-in enable-retrieval for embedding-based recall over .product/. Deferred to v0.2 (DEC-006).
  • update subcommand — propagate substrate changes into existing installs without overwriting your customizations.
  • Brand-asset pack — separate skill pack for projects that need style asset management.
  • Onboarding skills — guided first-session experiences that walk you through the stub context files.
  • doctor health checks beyond presence — v0.1 only verifies the four substrate paths exist.

Where to look around

  • MANIFESTO.md — the longer argument: why this exists and what it's trying to do.
  • .product/ — the substrate dogfooding itself. Worked example of what a filled-in .product/ looks like.
  • .claude/ — the skills and rules that ship with init, in source form.
  • Backlog — what's open, what's deferred, what's been archived.
  • Decisions — the architectural calls and why they were made.

If something breaks or feels wrong, the issue tracker is the right place. The substrate is new in public, and the install path has not yet seen wide use.

License

Apache 2.0. See LICENSE and NOTICE.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

living_projects-0.1.2.tar.gz (142.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

living_projects-0.1.2-py3-none-any.whl (54.4 kB view details)

Uploaded Python 3

File details

Details for the file living_projects-0.1.2.tar.gz.

File metadata

  • Download URL: living_projects-0.1.2.tar.gz
  • Upload date:
  • Size: 142.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for living_projects-0.1.2.tar.gz
Algorithm Hash digest
SHA256 9a47dc4a8f2a4d54470ebf1a54452b59a47882e2b6ea9cc8a2d7d1f86ca36205
MD5 0252bafb494ed1797b1e40216b17d62a
BLAKE2b-256 8f9145d4484149381d53871ecf998ba5486a282aae9bffbf941f434efe90e6e4

See more details on using hashes here.

Provenance

The following attestation bundles were made for living_projects-0.1.2.tar.gz:

Publisher: publish.yml on beverage/living-projects

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file living_projects-0.1.2-py3-none-any.whl.

File metadata

  • Download URL: living_projects-0.1.2-py3-none-any.whl
  • Upload date:
  • Size: 54.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for living_projects-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 ecabe5905187ef9af01d6b6e07e4c4bd88af0727a5d007de3ef4d9c854436f0b
MD5 8b4f10de0ff07e52ba63536762cd3430
BLAKE2b-256 9318976f80bba79fde6c1a46572cad166538af18f51280dc7910295fcbb26127

See more details on using hashes here.

Provenance

The following attestation bundles were made for living_projects-0.1.2-py3-none-any.whl:

Publisher: publish.yml on beverage/living-projects

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page