From 983bb99b7ddcfdd8f8e5aceec1ec8439eed45deb Mon Sep 17 00:00:00 2001 From: Eugene Blikh Date: Tue, 19 May 2026 13:12:47 +0300 Subject: [PATCH] =?UTF-8?q?fix:=20build-index.sh=20=E2=80=94=20accept=20.g?= =?UTF-8?q?it=20gitlinks,=20not=20just=20directories?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit After `git submodule absorbgitdirs`, each subproject's worktree contains a .git *file* pointing into .git/modules//, not a .git directory. The old `find -type d` test silently skipped every submodule, leaving INDEX.md empty of repo content. Widen the type filter to both files and directories so submodule-backed clones are detected too. --- .claude/INDEX.md | 625 ++++++++++++++++++++++++++++++++- .claude/scripts/build-index.sh | 6 +- 2 files changed, 628 insertions(+), 3 deletions(-) diff --git a/.claude/INDEX.md b/.claude/INDEX.md index fed95b51d3eadecf96a6c07f649a78032d4fbc69..8e5691ba0f5575fc0f9f8808b1f39313bae4c2f5 100644 --- a/.claude/INDEX.md +++ b/.claude/INDEX.md @@ -4,12 +4,635 @@ Auto-generated by `.claude/scripts/build-index.sh`. Regenerated at the end of ev Read this **before** grepping. Each section gives you the canonical place to look for symbols in that repo. -_Generated: 2026-05-19 10:09:28 UTC_ +_Generated: 2026-05-19 10:12:35 UTC_ ## Repos +- `api.sr.ht` — master +- `builds.sr.ht` — 0.103.12 +- `core-go` — master +- `core.sr.ht` — 0.83.3 +- `forgeperf` — master +- `gensokyo` — master +- `git-am.io` — master +- `git-rebase.io` — master +- `git-send-email.io` — 0.1.17 +- `git.sr.ht` — 0.97.6 +- `go-away-config` — main +- `gql.sr.ht` — master +- `hub.sr.ht` — 0.27.6 +- `hut` — v0.8.0 +- `lists.sr.ht` — 0.70.6 +- `man.sr.ht` — 0.19.27 +- `meta.sr.ht` — 0.88.4 +- `pages.sr.ht` — 0.17.12 +- `paste.sr.ht` — 0.19.1 +- `sourcehut-go` — master +- `sourcehut-migrate` — v0.3.1 +- `sourcehut-ssh` — 0.5.0 +- `sourcehut.org` — master +- `sr.ht-apkbuilds` — master +- `sr.ht-docs` — master +- `sr.ht-nginx` — master +- `sr.ht-pkgbuilds` — master +- `srht.site` — master +- `status.sr.ht` — main +- `todo.sr.ht` — 0.84.4 + +## api.sr.ht + +_Tag:_ `(branch: master)` + +**Go files (root)**: auth.go, main.go + +--- + +## builds.sr.ht + +_Tag:_ `0.103.12` + +**GraphQL types** (`buildsrht/schema.graphqls`) + +- `type`: Artifact, EmailTrigger, Job, JobCursor, JobEvent, JobGroup, Log, Mutation, OAuthClient, PGPKey, Query, SSHKey, SecretCursor, SecretFile, Settings, Task, User, UserWebhookSubscription, Version, WebhookDelivery, WebhookDeliveryCursor, WebhookSubscriptionCursor, WebhookTrigger +- `input`: EmailTriggerInput, TriggerInput, UserWebhookInput, WebhookTriggerInput +- `enum`: AccessKind, AccessScope, JobStatus, TaskStatus, TriggerCondition, TriggerType, Visibility, WebhookEvent +- `interface`: Entity, Secret, Trigger, WebhookPayload, WebhookSubscription +- `scalar`: Binary, Cursor, File, Time + +**SQL tables** (`schema.sql`) + +artifact, gql_user_wh_delivery, gql_user_wh_sub, job, job_group, secret, task, trigger, user + +_Migrations: 2 files, latest `migrations/0002_drop_legacy_tables.sql`_ + +**Python blueprints** (`buildsrht/blueprints/`): admin, jobs, secrets, settings + +**Python GraphQL queries** (`buildsrht/graphql/`): builds, secrets + +**Go binaries** (`cmd/`): api, worker + +**Go packages**: `api, worker` + +--- + +## core-go + +_Tag:_ `(branch: master)` + +**Go binaries** (`cmd/`): token + +**Go files (root)**: placeholder.go + +**Go packages**: `auth, client, config, crypto, database, email, errors, feature, model, objects, redis, server, valid, webhooks` + +--- + +## core.sr.ht + +_Tag:_ `0.83.3` + +**Python modules** (`srht/`): api, assets, cache, config, crypto, database, debug, email, flagtype, gql_lexer, markdown, metrics, redis, rid, search, validation + +**Python subpackages** (`srht/`): app, ariadne, graphql, icons, oauth, templates, webhook + +--- + +## forgeperf + +_Tag:_ `(branch: master)` + +**Go files (root)**: main.go + +**Go packages**: `schema` + +--- + +## gensokyo + +_Tag:_ `(branch: master)` + +--- + +## git-am.io + +_Tag:_ `(branch: master)` + +--- + +## git-rebase.io + +_Tag:_ `(branch: master)` + +--- + +## git-send-email.io + +_Tag:_ `0.1.17` + +--- + +## git.sr.ht + +_Tag:_ `0.97.6` + +**GraphQL types** (`gitsrht/schema.graphqls`) + +- `type`: ACL, ACLCursor, Artifact, ArtifactCursor, BinaryBlob, Commit, CommitCursor, Features, GitEvent, GitWebhookSubscription, Mutation, OAuthClient, Query, Redirect, Reference, ReferenceCursor, Repository, RepositoryCursor, RepositoryEvent, Settings, Signature, Tag, TextBlob, Trailer, Tree, TreeEntry, TreeEntryCursor, UpdatedRef, User, UserWebhookSubscription, Version, WebhookDelivery, WebhookDeliveryCursor, WebhookSubscriptionCursor +- `input`: Filter, GitEventInput, GitWebhookInput, RepoInput, UpdatedRefInput, UserWebhookInput +- `enum`: AccessKind, AccessMode, AccessScope, ObjectType, Visibility, WebhookEvent +- `interface`: Blob, Entity, Object, WebhookPayload, WebhookSubscription +- `scalar`: Cursor, Time, URL, Upload + +**SQL tables** (`schema.sql`) + +access, artifacts, gql_git_wh_delivery, gql_git_wh_sub, gql_user_wh_delivery, gql_user_wh_sub, redirect, repository, user + +_Migrations: 6 files, latest `migrations/0006_add_resource_ids.sql`_ + +**Python blueprints** (`gitsrht/blueprints/`): artifacts, email, manage, public, repo + +**Python GraphQL queries** (`gitsrht/graphql/`): artifacts, manage, settings + +**Go binaries** (`cmd/`): api, http-clone, shell, update-hook + +**Go packages**: `update-hook` + +--- + +## go-away-config + +_Tag:_ `(branch: main)` + +--- + +## gql.sr.ht + +_Tag:_ `(branch: master)` + +**Go files (root)**: directives.go, email.go, server.go + +**Go packages**: `auth, client, config, crypto, database, model, redis` + +--- + +## hub.sr.ht + +_Tag:_ `0.27.6` + +**GraphQL types** (`hubsrht/schema.graphqls`) + +- `type`: Features, MailingList, MailingListCursor, Mutation, Project, ProjectCursor, Query, SourceRepo, SourceRepoCursor, Tracker, TrackerCursor, User, Version +- `enum`: AccessKind, AccessScope, RepoType, Visibility +- `interface`: Entity, ProjectResource +- `scalar`: Cursor, Time, Upload + +**SQL tables** (`schema.sql`) + +event, event_project_association, features, mailing_list, project, redirect, source_repo, tracker, user, user_webhooks + +_Migrations: 8 files, latest `migrations/0008_repo-type_enum.sql`_ + +**Python blueprints** (`hubsrht/blueprints/`): mailing_lists, projects, public, sources, trackers, users, webhooks + +**Go packages**: `api` + +--- + +## hut + +_Tag:_ `v0.8.0` + +**GraphQL types** (`srht/metasrht/schema.graphqls`) + +- `type`: ACL, ACLCursor, ActivitySubscriptionCursor, Artifact, ArtifactCursor, Assignment, AuditLogCursor, AuditLogEntry, BillingAddress, BillingSubscription, BinaryBlob, ByteRange, Comment, Commit, CommitCursor, Created, DefaultACL, Email, EmailAddress, EmailCursor, EmailEvent, EmailTrigger, Event, EventCreated, EventCursor, ExternalUser, Features, File, FileCursor, GeneralACL, GitEvent, GitWebhookSubscription, Invoice, InvoiceCursor, Job, JobCursor, JobEvent, JobGroup, Label, LabelCursor, LabelEvent, LabelUpdate, Log, LoginSecurity, Mailbox, MailingList, MailingListACL, MailingListACLCursor, MailingListCursor, MailingListEvent, MailingListSubscription, MailingListWebhookSubscription, Mutation, NamedRevision, NamedRevisionCursor, OAuthClient, OAuthClientRegistration, OAuthGrant, OAuthGrantRegistration, OAuthPersonalToken, OAuthPersonalTokenRegistration, PGPKey, PGPKeyCursor, PGPKeyEvent, Paste, PasteCursor, PasteEvent, Patch, Patchset, PatchsetCursor, PatchsetEvent, PatchsetTool, PaymentMethod, PaymentOutcome, Preferences, Product, ProductPrice, ProfileUpdateEvent, ProfileWebhookSubscription, Project, ProjectCursor, Query, Redirect, Reference, ReferenceCursor, Repository, RepositoryCursor, RepositoryEvent, Revision, RevisionCursor, SSHKey, SSHKeyCursor, SSHKeyEvent, SecretCursor, SecretFile, Settings, Signature, Site, SiteACL, SiteACLCursor, SiteCursor, SiteEvent, SourceRepo, SourceRepoCursor, StatusChange, StripePaymentIntent, StripeSetupIntent, TOTPConfig, Tag, Task, TextBlob, Thread, ThreadBlock, ThreadCursor, Ticket, TicketCursor, TicketDeletedEvent, TicketEvent, TicketMention, TicketSubscription, TicketWebhookSubscription, Tracker, TrackerACL, TrackerCursor, TrackerEvent, TrackerSubscription, TrackerWebhookSubscription, Trailer, Tree, TreeEntry, TreeEntryCursor, UpdatedRef, User, UserMention, UserWebhookSubscription, Version, WebhookDelivery, WebhookDeliveryCursor, WebhookSubscriptionCursor, WebhookTrigger +- `input`: ACLInput, BillingAddressInput, EmailTriggerInput, FileConfig, FileOptions, Filter, GitEventInput, GitWebhookInput, ImportInput, MailingListInput, MailingListWebhookInput, PreferencesInput, ProductPriceInput, ProfileWebhookInput, RepoInput, SiteConfig, SubmitCommentEmailInput, SubmitCommentInput, SubmitTicketEmailInput, SubmitTicketInput, TicketWebhookInput, TrackerInput, TrackerWebhookInput, TriggerInput, UpdateBillingSubscriptionInput, UpdateLabelInput, UpdateStatusInput, UpdateTicketInput, UpdatedRefInput, UserInput, UserWebhookInput, WebhookTriggerInput +- `enum`: AccessKind, AccessMode, AccessScope, Authenticity, Currency, EmailCmd, EventType, JobStatus, ObjectType, PatchsetStatus, PaymentIntentStatus, PaymentInterval, PaymentStatus, Protocol, RepoType, SetupIntentStatus, SubscriptionStatus, TaskStatus, TicketResolution, TicketStatus, ToolIcon, TriggerCondition, TriggerType, UserType, Visibility, WebhookEvent +- `interface`: ACL, ActivitySubscription, Blob, Entity, EventDetail, Object, PaymentIntent, ProjectResource, Secret, SetupIntent, Trigger, WebhookPayload, WebhookSubscription +- `scalar`: Binary, ConfirmationToken, Country, Cursor, File, Time, URL, Upload + +**Go files (root)**: builds.go, client.go, config.go, export.go, git.go, graphql.go, hg.go, hub.go, import.go, lists.go, main.go, meta.go, pager.go, pages.go, parsing_test.go, paste.go, project.go, todo.go + +**Go packages**: `export, srht, termfmt` + +--- + +## lists.sr.ht + +_Tag:_ `0.70.6` + +**GraphQL types** (`api/graph/schema.graphqls`) + +- `type`: ActivitySubscriptionCursor, ByteRange, Email, EmailCursor, EmailEvent, GeneralACL, Mailbox, MailingList, MailingListACL, MailingListACLCursor, MailingListCursor, MailingListEvent, MailingListSubscription, MailingListWebhookSubscription, Mutation, OAuthClient, Patch, Patchset, PatchsetCursor, PatchsetEvent, PatchsetTool, Preferences, Query, Thread, ThreadBlock, ThreadCursor, Trailer, User, UserWebhookSubscription, Version, WebhookDelivery, WebhookDeliveryCursor, WebhookSubscriptionCursor +- `input`: ACLInput, MailingListInput, MailingListWebhookInput, PreferencesInput, UserWebhookInput +- `enum`: AccessKind, AccessScope, PatchsetStatus, ToolIcon, Visibility, WebhookEvent +- `interface`: ACL, ActivitySubscription, Entity, WebhookPayload, WebhookSubscription +- `scalar`: ConfirmationToken, Cursor, Time, URL, Upload + +**SQL tables** (`schema.sql`) + +access, email, gql_list_wh_delivery, gql_list_wh_sub, gql_user_wh_delivery, gql_user_wh_sub, list, mirror, patchset, patchset_tool, subscription, subscription_request, user + +_Migrations: 10 files, latest `migrations/0010_add_supersedes_id.sql`_ + +**Python blueprints** (`listssrht/blueprints/`): archives, patches, settings, user + +**Python GraphQL queries** (`listssrht/graphql/`): queries + +**Go packages**: `api, ingress` + +--- + +## man.sr.ht + +_Tag:_ `0.19.27` + +**GraphQL types** (`api/graph/schema.graphqls`) + +- `type`: Mutation, Query, Version +- `scalar`: Cursor, Time, Upload + +**SQL tables** (`schema.sql`) + +backing_repo, root_wiki, user, wiki + +_Migrations: 3 files, latest `migrations/0003_remove_backing_repo.sql`_ + +**Python blueprints** (`mansrht/blueprints/`): create, html, manage, public + +**Go binaries** (`cmd/`): api + +--- + +## meta.sr.ht + +_Tag:_ `0.88.4` + +**GraphQL types** (`metasrht/schema.graphqls`) + +- `type`: AuditLogCursor, AuditLogEntry, BillingAddress, BillingSubscription, Features, Invoice, InvoiceCursor, LoginSecurity, Mutation, OAuthClient, OAuthClientRegistration, OAuthGrant, OAuthGrantRegistration, OAuthPersonalToken, OAuthPersonalTokenRegistration, PGPKey, PGPKeyCursor, PGPKeyEvent, PaymentMethod, PaymentOutcome, Product, ProductPrice, ProfileUpdateEvent, ProfileWebhookSubscription, Query, SSHKey, SSHKeyCursor, SSHKeyEvent, StripePaymentIntent, StripeSetupIntent, TOTPConfig, User, Version, WebhookDelivery, WebhookDeliveryCursor, WebhookSubscriptionCursor +- `input`: BillingAddressInput, ProductPriceInput, ProfileWebhookInput, UpdateBillingSubscriptionInput, UserInput +- `enum`: AccessKind, AccessScope, Currency, PaymentIntentStatus, PaymentInterval, PaymentStatus, SetupIntentStatus, SubscriptionStatus, UserType, WebhookEvent +- `interface`: Entity, PaymentIntent, SetupIntent, WebhookPayload, WebhookSubscription +- `scalar`: Country, Cursor, Time, URL, Upload + +**SQL tables** (`schema.sql`) + +audit_log_entry, billing_address, gql_profile_wh_delivery, gql_profile_wh_sub, invoice, oauth2_client, oauth2_grant, oauthclient, oauthtoken, payment_method, pgpkey, product, product_price, reserved_usernames, sshkey, subscription, user, user_auth_factor, user_email_change, user_notes, user_password_change, user_payment_processor, user_registration, user_webhook_delivery, user_webhook_subscription, webhook_subscription + +_Migrations: 12 files, latest `migrations/0012_make_fingerprint_nullable.sql`_ + +**Python blueprints** (`metasrht/blueprints/`): auth, billing, keys, oauth2, privacy, profile, security, users + +**Python GraphQL queries** (`metasrht/graphql/`): admin, auth, billing, email, keys, oauth2, profile, security + +**Go binaries** (`cmd/`): api + +--- + +## pages.sr.ht + +_Tag:_ `0.17.12` + +**GraphQL types** (`graph/schema.graphqls`) + +- `type`: Mutation, OAuthClient, Query, Site, SiteACL, SiteACLCursor, SiteCursor, SiteEvent, User, UserWebhookSubscription, Version, WebhookDelivery, WebhookDeliveryCursor, WebhookSubscriptionCursor +- `input`: ACLInput, FileConfig, FileOptions, SiteConfig, UserWebhookInput +- `enum`: AccessKind, AccessScope, Protocol, WebhookEvent +- `interface`: ACL, Entity, WebhookPayload, WebhookSubscription +- `scalar`: Cursor, Time, Upload + +**SQL tables** (`schema.sql`) + +gql_user_wh_delivery, gql_user_wh_sub, site_access, sites, user + +_Migrations: 1 files, latest `migrations/0001_switch_to_brant.sql`_ + +**Go binaries** (`cmd/`): daily, pages.sr.ht + +**Go packages**: `account, graph, webhooks` + +--- + +## paste.sr.ht + +_Tag:_ `0.19.1` + +**GraphQL types** (`pastesrht/schema.graphqls`) + +- `type`: File, Mutation, OAuthClient, Paste, PasteCursor, PasteEvent, Query, User, UserWebhookSubscription, Version, WebhookDelivery, WebhookDeliveryCursor, WebhookSubscriptionCursor +- `input`: UserWebhookInput +- `enum`: AccessKind, AccessScope, Visibility, WebhookEvent +- `interface`: Entity, WebhookPayload, WebhookSubscription +- `scalar`: Cursor, Time, URL, Upload + +**SQL tables** (`schema.sql`) + +blob, gql_user_wh_delivery, gql_user_wh_sub, paste, paste_file, user + +_Migrations: 3 files, latest `migrations/0003_drop_legacy_tables.sql`_ + +**Python blueprints** (`pastesrht/blueprints/`): public + +**Python GraphQL queries** (`pastesrht/graphql/`): mutations + +**Go binaries** (`cmd/`): api + +--- + +## sourcehut-go + +_Tag:_ `(branch: master)` + +**Go binaries** (`cmd/`): git.sr.ht, meta.sr.ht + +**Go files (root)**: client.go, config.go, doc.go, entry.go, resources.go + +**Go packages**: `git.sr.ht, meta.sr.ht` + +--- + +## sourcehut-migrate + +_Tag:_ `v0.3.1` + +**Go binaries** (`cmd/`): sourcehut-migrate + +--- + +## sourcehut-ssh + +_Tag:_ `0.5.0` + +**Go binaries** (`cmd/`): sourcehut-ssh + +**Go packages**: `dispatch, handler, meta, shell, ssh` + +--- + +## sourcehut.org + +_Tag:_ `(branch: master)` + +--- + +## sr.ht-apkbuilds + +_Tag:_ `(branch: master)` + +--- + +## sr.ht-docs + +_Tag:_ `(branch: master)` + +--- + +## sr.ht-nginx + +_Tag:_ `(branch: master)` + +--- + +## sr.ht-pkgbuilds + +_Tag:_ `(branch: master)` + +--- + +## srht.site + +_Tag:_ `(branch: master)` + +--- + +## status.sr.ht + +_Tag:_ `(branch: main)` + +--- + +## todo.sr.ht + +_Tag:_ `0.84.4` + +**GraphQL types** (`todosrht/schema.graphqls`) + +- `type`: ACLCursor, ActivitySubscriptionCursor, Assignment, Comment, Created, DefaultACL, EmailAddress, Event, EventCreated, EventCursor, ExternalUser, Label, LabelCursor, LabelEvent, LabelUpdate, Mutation, OAuthClient, Preferences, Query, StatusChange, Ticket, TicketCursor, TicketDeletedEvent, TicketEvent, TicketMention, TicketSubscription, TicketWebhookSubscription, Tracker, TrackerACL, TrackerCursor, TrackerEvent, TrackerSubscription, TrackerWebhookSubscription, User, UserMention, UserWebhookSubscription, Version, WebhookDelivery, WebhookDeliveryCursor, WebhookSubscriptionCursor +- `input`: ACLInput, ImportInput, PreferencesInput, SubmitCommentEmailInput, SubmitCommentInput, SubmitTicketEmailInput, SubmitTicketInput, TicketWebhookInput, TrackerInput, TrackerWebhookInput, UpdateLabelInput, UpdateStatusInput, UpdateTicketInput, UserWebhookInput +- `enum`: AccessKind, AccessScope, Authenticity, EmailCmd, EventType, TicketResolution, TicketStatus, Visibility, WebhookEvent +- `interface`: ACL, ActivitySubscription, Entity, EventDetail, WebhookPayload, WebhookSubscription +- `scalar`: Cursor, Time, URL, Upload + +**SQL tables** (`schema.sql`) + +event, event_notification, gql_ticket_wh_delivery, gql_ticket_wh_sub, gql_tracker_wh_delivery, gql_tracker_wh_sub, gql_user_wh_delivery, gql_user_wh_sub, label, participant, redirect, ticket, ticket_assignee, ticket_comment, ticket_label, ticket_subscription, tracker, user, user_access + +_Migrations: 5 files, latest `migrations/0005_add_resource_ids.sql`_ + +**Python blueprints** (`todosrht/blueprints/`): html, settings, ticket, tracker + +**Python GraphQL queries** (`todosrht/graphql/`): lmtp, settings, tickets, trackers + +**Go binaries** (`cmd/`): api + +**Go packages**: `api` + +--- ## Cross-repo GraphQL type map When the same type name appears in multiple repos, it is a *different* type in each — they are not federated as one. Use this map to pick the right service before reading. +- `ACL` → git.sr.ht, hut +- `ACLCursor` → git.sr.ht, hut, todo.sr.ht +- `ACLInput` → hut, lists.sr.ht, pages.sr.ht, todo.sr.ht +- `AccessKind` → builds.sr.ht, git.sr.ht, hub.sr.ht, hut, lists.sr.ht, meta.sr.ht, pages.sr.ht, paste.sr.ht, todo.sr.ht +- `AccessMode` → git.sr.ht, hut +- `AccessScope` → builds.sr.ht, git.sr.ht, hub.sr.ht, hut, lists.sr.ht, meta.sr.ht, pages.sr.ht, paste.sr.ht, todo.sr.ht +- `ActivitySubscriptionCursor` → hut, lists.sr.ht, todo.sr.ht +- `Artifact` → builds.sr.ht, git.sr.ht, hut +- `ArtifactCursor` → git.sr.ht, hut +- `Assignment` → hut, todo.sr.ht +- `AuditLogCursor` → hut, meta.sr.ht +- `AuditLogEntry` → hut, meta.sr.ht +- `Authenticity` → hut, todo.sr.ht +- `BillingAddress` → hut, meta.sr.ht +- `BillingAddressInput` → hut, meta.sr.ht +- `BillingSubscription` → hut, meta.sr.ht +- `BinaryBlob` → git.sr.ht, hut +- `ByteRange` → hut, lists.sr.ht +- `Comment` → hut, todo.sr.ht +- `Commit` → git.sr.ht, hut +- `CommitCursor` → git.sr.ht, hut +- `Created` → hut, todo.sr.ht +- `Currency` → hut, meta.sr.ht +- `DefaultACL` → hut, todo.sr.ht +- `Email` → hut, lists.sr.ht +- `EmailAddress` → hut, todo.sr.ht +- `EmailCmd` → hut, todo.sr.ht +- `EmailCursor` → hut, lists.sr.ht +- `EmailEvent` → hut, lists.sr.ht +- `EmailTrigger` → builds.sr.ht, hut +- `EmailTriggerInput` → builds.sr.ht, hut +- `Event` → hut, todo.sr.ht +- `EventCreated` → hut, todo.sr.ht +- `EventCursor` → hut, todo.sr.ht +- `EventType` → hut, todo.sr.ht +- `ExternalUser` → hut, todo.sr.ht +- `Features` → git.sr.ht, hub.sr.ht, hut, meta.sr.ht +- `File` → hut, paste.sr.ht +- `FileConfig` → hut, pages.sr.ht +- `FileOptions` → hut, pages.sr.ht +- `Filter` → git.sr.ht, hut +- `GeneralACL` → hut, lists.sr.ht +- `GitEvent` → git.sr.ht, hut +- `GitEventInput` → git.sr.ht, hut +- `GitWebhookInput` → git.sr.ht, hut +- `GitWebhookSubscription` → git.sr.ht, hut +- `ImportInput` → hut, todo.sr.ht +- `Invoice` → hut, meta.sr.ht +- `InvoiceCursor` → hut, meta.sr.ht +- `Job` → builds.sr.ht, hut +- `JobCursor` → builds.sr.ht, hut +- `JobEvent` → builds.sr.ht, hut +- `JobGroup` → builds.sr.ht, hut +- `JobStatus` → builds.sr.ht, hut +- `Label` → hut, todo.sr.ht +- `LabelCursor` → hut, todo.sr.ht +- `LabelEvent` → hut, todo.sr.ht +- `LabelUpdate` → hut, todo.sr.ht +- `Log` → builds.sr.ht, hut +- `LoginSecurity` → hut, meta.sr.ht +- `Mailbox` → hut, lists.sr.ht +- `MailingList` → hub.sr.ht, hut, lists.sr.ht +- `MailingListACL` → hut, lists.sr.ht +- `MailingListACLCursor` → hut, lists.sr.ht +- `MailingListCursor` → hub.sr.ht, hut, lists.sr.ht +- `MailingListEvent` → hut, lists.sr.ht +- `MailingListInput` → hut, lists.sr.ht +- `MailingListSubscription` → hut, lists.sr.ht +- `MailingListWebhookInput` → hut, lists.sr.ht +- `MailingListWebhookSubscription` → hut, lists.sr.ht +- `Mutation` → builds.sr.ht, git.sr.ht, hub.sr.ht, hut, lists.sr.ht, man.sr.ht, meta.sr.ht, pages.sr.ht, paste.sr.ht, todo.sr.ht +- `OAuthClient` → builds.sr.ht, git.sr.ht, hut, lists.sr.ht, meta.sr.ht, pages.sr.ht, paste.sr.ht, todo.sr.ht +- `OAuthClientRegistration` → hut, meta.sr.ht +- `OAuthGrant` → hut, meta.sr.ht +- `OAuthGrantRegistration` → hut, meta.sr.ht +- `OAuthPersonalToken` → hut, meta.sr.ht +- `OAuthPersonalTokenRegistration` → hut, meta.sr.ht +- `ObjectType` → git.sr.ht, hut +- `PGPKey` → builds.sr.ht, hut, meta.sr.ht +- `PGPKeyCursor` → hut, meta.sr.ht +- `PGPKeyEvent` → hut, meta.sr.ht +- `Paste` → hut, paste.sr.ht +- `PasteCursor` → hut, paste.sr.ht +- `PasteEvent` → hut, paste.sr.ht +- `Patch` → hut, lists.sr.ht +- `Patchset` → hut, lists.sr.ht +- `PatchsetCursor` → hut, lists.sr.ht +- `PatchsetEvent` → hut, lists.sr.ht +- `PatchsetStatus` → hut, lists.sr.ht +- `PatchsetTool` → hut, lists.sr.ht +- `PaymentIntentStatus` → hut, meta.sr.ht +- `PaymentInterval` → hut, meta.sr.ht +- `PaymentMethod` → hut, meta.sr.ht +- `PaymentOutcome` → hut, meta.sr.ht +- `PaymentStatus` → hut, meta.sr.ht +- `Preferences` → hut, lists.sr.ht, todo.sr.ht +- `PreferencesInput` → hut, lists.sr.ht, todo.sr.ht +- `Product` → hut, meta.sr.ht +- `ProductPrice` → hut, meta.sr.ht +- `ProductPriceInput` → hut, meta.sr.ht +- `ProfileUpdateEvent` → hut, meta.sr.ht +- `ProfileWebhookInput` → hut, meta.sr.ht +- `ProfileWebhookSubscription` → hut, meta.sr.ht +- `Project` → hub.sr.ht, hut +- `ProjectCursor` → hub.sr.ht, hut +- `Protocol` → hut, pages.sr.ht +- `Query` → builds.sr.ht, git.sr.ht, hub.sr.ht, hut, lists.sr.ht, man.sr.ht, meta.sr.ht, pages.sr.ht, paste.sr.ht, todo.sr.ht +- `Redirect` → git.sr.ht, hut +- `Reference` → git.sr.ht, hut +- `ReferenceCursor` → git.sr.ht, hut +- `RepoInput` → git.sr.ht, hut +- `RepoType` → hub.sr.ht, hut +- `Repository` → git.sr.ht, hut +- `RepositoryCursor` → git.sr.ht, hut +- `RepositoryEvent` → git.sr.ht, hut +- `SSHKey` → builds.sr.ht, hut, meta.sr.ht +- `SSHKeyCursor` → hut, meta.sr.ht +- `SSHKeyEvent` → hut, meta.sr.ht +- `SecretCursor` → builds.sr.ht, hut +- `SecretFile` → builds.sr.ht, hut +- `Settings` → builds.sr.ht, git.sr.ht, hut +- `SetupIntentStatus` → hut, meta.sr.ht +- `Signature` → git.sr.ht, hut +- `Site` → hut, pages.sr.ht +- `SiteACL` → hut, pages.sr.ht +- `SiteACLCursor` → hut, pages.sr.ht +- `SiteConfig` → hut, pages.sr.ht +- `SiteCursor` → hut, pages.sr.ht +- `SiteEvent` → hut, pages.sr.ht +- `SourceRepo` → hub.sr.ht, hut +- `SourceRepoCursor` → hub.sr.ht, hut +- `StatusChange` → hut, todo.sr.ht +- `StripePaymentIntent` → hut, meta.sr.ht +- `StripeSetupIntent` → hut, meta.sr.ht +- `SubmitCommentEmailInput` → hut, todo.sr.ht +- `SubmitCommentInput` → hut, todo.sr.ht +- `SubmitTicketEmailInput` → hut, todo.sr.ht +- `SubmitTicketInput` → hut, todo.sr.ht +- `SubscriptionStatus` → hut, meta.sr.ht +- `TOTPConfig` → hut, meta.sr.ht +- `Tag` → git.sr.ht, hut +- `Task` → builds.sr.ht, hut +- `TaskStatus` → builds.sr.ht, hut +- `TextBlob` → git.sr.ht, hut +- `Thread` → hut, lists.sr.ht +- `ThreadBlock` → hut, lists.sr.ht +- `ThreadCursor` → hut, lists.sr.ht +- `Ticket` → hut, todo.sr.ht +- `TicketCursor` → hut, todo.sr.ht +- `TicketDeletedEvent` → hut, todo.sr.ht +- `TicketEvent` → hut, todo.sr.ht +- `TicketMention` → hut, todo.sr.ht +- `TicketResolution` → hut, todo.sr.ht +- `TicketStatus` → hut, todo.sr.ht +- `TicketSubscription` → hut, todo.sr.ht +- `TicketWebhookInput` → hut, todo.sr.ht +- `TicketWebhookSubscription` → hut, todo.sr.ht +- `ToolIcon` → hut, lists.sr.ht +- `Tracker` → hub.sr.ht, hut, todo.sr.ht +- `TrackerACL` → hut, todo.sr.ht +- `TrackerCursor` → hub.sr.ht, hut, todo.sr.ht +- `TrackerEvent` → hut, todo.sr.ht +- `TrackerInput` → hut, todo.sr.ht +- `TrackerSubscription` → hut, todo.sr.ht +- `TrackerWebhookInput` → hut, todo.sr.ht +- `TrackerWebhookSubscription` → hut, todo.sr.ht +- `Trailer` → git.sr.ht, hut, lists.sr.ht +- `Tree` → git.sr.ht, hut +- `TreeEntry` → git.sr.ht, hut +- `TreeEntryCursor` → git.sr.ht, hut +- `TriggerCondition` → builds.sr.ht, hut +- `TriggerInput` → builds.sr.ht, hut +- `TriggerType` → builds.sr.ht, hut +- `UpdateBillingSubscriptionInput` → hut, meta.sr.ht +- `UpdateLabelInput` → hut, todo.sr.ht +- `UpdateStatusInput` → hut, todo.sr.ht +- `UpdateTicketInput` → hut, todo.sr.ht +- `UpdatedRef` → git.sr.ht, hut +- `UpdatedRefInput` → git.sr.ht, hut +- `User` → builds.sr.ht, git.sr.ht, hub.sr.ht, hut, lists.sr.ht, meta.sr.ht, pages.sr.ht, paste.sr.ht, todo.sr.ht +- `UserInput` → hut, meta.sr.ht +- `UserMention` → hut, todo.sr.ht +- `UserType` → hut, meta.sr.ht +- `UserWebhookInput` → builds.sr.ht, git.sr.ht, hut, lists.sr.ht, pages.sr.ht, paste.sr.ht, todo.sr.ht +- `UserWebhookSubscription` → builds.sr.ht, git.sr.ht, hut, lists.sr.ht, pages.sr.ht, paste.sr.ht, todo.sr.ht +- `Version` → builds.sr.ht, git.sr.ht, hub.sr.ht, hut, lists.sr.ht, man.sr.ht, meta.sr.ht, pages.sr.ht, paste.sr.ht, todo.sr.ht +- `Visibility` → builds.sr.ht, git.sr.ht, hub.sr.ht, hut, lists.sr.ht, paste.sr.ht, todo.sr.ht +- `WebhookDelivery` → builds.sr.ht, git.sr.ht, hut, lists.sr.ht, meta.sr.ht, pages.sr.ht, paste.sr.ht, todo.sr.ht +- `WebhookDeliveryCursor` → builds.sr.ht, git.sr.ht, hut, lists.sr.ht, meta.sr.ht, pages.sr.ht, paste.sr.ht, todo.sr.ht +- `WebhookEvent` → builds.sr.ht, git.sr.ht, hut, lists.sr.ht, meta.sr.ht, pages.sr.ht, paste.sr.ht, todo.sr.ht +- `WebhookSubscriptionCursor` → builds.sr.ht, git.sr.ht, hut, lists.sr.ht, meta.sr.ht, pages.sr.ht, paste.sr.ht, todo.sr.ht +- `WebhookTrigger` → builds.sr.ht, hut +- `WebhookTriggerInput` → builds.sr.ht, hut diff --git a/.claude/scripts/build-index.sh b/.claude/scripts/build-index.sh index 010b59b76f98ebf898d2c4c304955ad2747063e3..6e3d4f40cc578ae2847ae4c9f00022d489a99ee9 100755 --- a/.claude/scripts/build-index.sh +++ b/.claude/scripts/build-index.sh @@ -13,9 +13,11 @@ OUT="$ROOT/.claude/INDEX.md" # Comma-join stdin lines, sorted unique. join_csv() { sort -u | paste -sd',' - | sed 's/,/, /g'; } -# Identify each direct child that is a git repo. +# Identify each direct child that is a git repo. Accept both regular .git +# directories (standalone clones) and .git files (submodule gitlinks, which +# is what this workspace uses after `git submodule absorbgitdirs`). mapfile -t REPOS < <( - find . -mindepth 2 -maxdepth 2 -name .git -type d 2>/dev/null \ + find . -mindepth 2 -maxdepth 2 -name .git \( -type d -o -type f \) 2>/dev/null \ | sed -E 's:^\./([^/]+)/\.git$:\1:' \ | sort )