<feed xmlns='http://www.w3.org/2005/Atom'>
<title>whois-band/app/lib/db.server.ts, branch master</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='http://git.yyamashita.com/whois-band/'/>
<entry>
<title>Add lists feature (band recommendation lists with history)</title>
<updated>2026-05-10T15:06:52+00:00</updated>
<author>
<name>yyamashita</name>
<email>yyamashita@mosquit.one</email>
</author>
<published>2026-05-10T15:06:52+00:00</published>
<link rel='alternate' type='text/html' href='http://git.yyamashita.com/whois-band/commit/?id=e9e576abd9d6c6030aa4bb290e869890831488ad'/>
<id>e9e576abd9d6c6030aa4bb290e869890831488ad</id>
<content type='text'>
New lists, list_entries, list_revisions tables; full CRUD routes under /lists; nav link in root.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
New lists, list_entries, list_revisions tables; full CRUD routes under /lists; nav link in root.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Add band index page sorted by slug, show hiatus status only</title>
<updated>2026-05-10T13:56:42+00:00</updated>
<author>
<name>yyamashita</name>
<email>yyamashita@mosquit.one</email>
</author>
<published>2026-05-10T13:56:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.yyamashita.com/whois-band/commit/?id=609dc6a3769d85e1cc4a8f06af58165be86b598c'/>
<id>609dc6a3769d85e1cc4a8f06af58165be86b598c</id>
<content type='text'>
Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Separate current/former members with calculable period dates</title>
<updated>2026-05-10T13:46:59+00:00</updated>
<author>
<name>yyamashita</name>
<email>yyamashita@mosquit.one</email>
</author>
<published>2026-05-10T13:46:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.yyamashita.com/whois-band/commit/?id=ec2417fc3e7029cb6fa84aa184daac2768ddad85'/>
<id>ec2417fc3e7029cb6fa84aa184daac2768ddad85</id>
<content type='text'>
- Add MemberGroup/BandGroup types and groupBandMembers/groupArtistMembers helpers
- Calculate membership duration in months from YYYY-MM since/until values
- Band view splits members into 在籍中 / 元メンバー sections with duration label
- Artist view splits bands into 在籍中 / 元在籍 sections with duration label
- Change since/until inputs to type="month" for structured data entry

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Add MemberGroup/BandGroup types and groupBandMembers/groupArtistMembers helpers
- Calculate membership duration in months from YYYY-MM since/until values
- Band view splits members into 在籍中 / 元メンバー sections with duration label
- Artist view splits bands into 在籍中 / 元在籍 sections with duration label
- Change since/until inputs to type="month" for structured data entry

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Add members table with membership period and note support</title>
<updated>2026-05-09T15:21:04+00:00</updated>
<author>
<name>yyamashita</name>
<email>yyamashita@mosquit.one</email>
</author>
<published>2026-05-09T15:21:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.yyamashita.com/whois-band/commit/?id=184e6947707ecdf07dfa3a5cbc6e51cf9440e93a'/>
<id>184e6947707ecdf07dfa3a5cbc6e51cf9440e93a</id>
<content type='text'>
Replace band_artists + member_periods with a single members table
(id, band_id, artist_id, role, since, until, note, order_index).
Each row represents one membership period, so rejoining artists
get multiple rows. Existing band_artists data is auto-migrated on
startup. Export format bumped to version 3.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Replace band_artists + member_periods with a single members table
(id, band_id, artist_id, role, since, until, note, order_index).
Each row represents one membership period, so rejoining artists
get multiple rows. Existing band_artists data is auto-migrated on
startup. Export format bumped to version 3.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Add /api/export and /api/import endpoints for DB backup and sync</title>
<updated>2026-05-09T05:36:28+00:00</updated>
<author>
<name>yyamashita</name>
<email>yyamashita@mosquit.one</email>
</author>
<published>2026-05-09T05:36:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.yyamashita.com/whois-band/commit/?id=0e12e7238f48ffc2a5d35dae059c2f00c7250f3b'/>
<id>0e12e7238f48ffc2a5d35dae059c2f00c7250f3b</id>
<content type='text'>
Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Add band description/status fields and redesign index page</title>
<updated>2026-05-08T15:46:32+00:00</updated>
<author>
<name>yyamashita</name>
<email>yyamashita@mosquit.one</email>
</author>
<published>2026-05-08T15:46:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.yyamashita.com/whois-band/commit/?id=d944f11581553c5e038b33fa4558566713f6d1f4'/>
<id>d944f11581553c5e038b33fa4558566713f6d1f4</id>
<content type='text'>
- bands table: add description (TEXT) and status (TEXT DEFAULT 'active')
  via ALTER TABLE migrations (active / hiatus / disbanded)
- Home page: minimal monochrome index listing name, area, status
- Band detail: show description below title, status alongside area
- Band new/edit forms: textarea for description, select for status

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- bands table: add description (TEXT) and status (TEXT DEFAULT 'active')
  via ALTER TABLE migrations (active / hiatus / disbanded)
- Home page: minimal monochrome index listing name, area, status
- Band detail: show description below title, status alongside area
- Band new/edit forms: textarea for description, select for status

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix Docker startup: add package.json to app stage, respect DB_PATH</title>
<updated>2026-05-08T15:38:42+00:00</updated>
<author>
<name>yyamashita</name>
<email>yyamashita@mosquit.one</email>
</author>
<published>2026-05-08T15:38:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.yyamashita.com/whois-band/commit/?id=446ffe83a2043636ffe99691454e843ef9fb179f'/>
<id>446ffe83a2043636ffe99691454e843ef9fb179f</id>
<content type='text'>
npm start requires package.json in the working directory. Also wire
up the DB_PATH env var so the DB is created inside the mounted volume.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
npm start requires package.json in the working directory. Also wire
up the DB_PATH env var so the DB is created inside the mounted volume.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Implement band/artist management with version history</title>
<updated>2026-05-08T15:27:19+00:00</updated>
<author>
<name>yyamashita</name>
<email>yyamashita@mosquit.one</email>
</author>
<published>2026-05-08T15:27:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.yyamashita.com/whois-band/commit/?id=b8d24d292d99c8da285092ce923b5e2b546d8f45'/>
<id>b8d24d292d99c8da285092ce923b5e2b546d8f45</id>
<content type='text'>
Full CRUD for bands and artists: UUID + slug URLs, dynamic link
editor, band-artist associations with roles, per-edit revision
snapshots (message + IP). Add README and CLAUDE.md.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Full CRUD for bands and artists: UUID + slug URLs, dynamic link
editor, band-artist associations with roles, per-edit revision
snapshots (message + IP). Add README and CLAUDE.md.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>Initial scaffold: React Router v7 + SQLite + Tailwind CSS v4</title>
<updated>2026-05-08T14:37:51+00:00</updated>
<author>
<name>yyamashita</name>
<email>yyamashita@mosquit.one</email>
</author>
<published>2026-05-08T14:37:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.yyamashita.com/whois-band/commit/?id=d4d104cd604741ac0c308efe5050a0eec69bb389'/>
<id>d4d104cd604741ac0c308efe5050a0eec69bb389</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
</feed>
