このプロジェクトについて

# SQL作成用ChatGPTプロンプト このユーティリティは、ChatGPTなどのLLMでSQLクエリを作成するためのプロンプトを生成します。データベースURLとテーブル名を指定すると、コピー&ペーストで使えるプロンプトを作成します。内容は以下の通りです。 - **テーブル構造スナップショット**: テーブルの列、型、構成。 - **サンプル行**: テーブルのデータを示すINSERT文。 - **テーブル・フィールドコメント**: テーブルや列に関するコメントも含まれます。 ## 使用方法 pipでインストール: ```shell pip install llm-sql-prompt ``` 基本的な使い方: ```shell Usage: llm-sql-prompt [OPTIONS] DATABASE_URL [TABLE_NAME] Options: --help Show this message and exit. ``` Postgresデータベースからプロンプトを生成: ```shell llm-sql-prompt postgresql://postgres:postgres@localhost:5555/database_name table_name | pbcopy llm-sql-prompt $DATABASE_URL ``` ローカルのSQLiteデータベースから: ```shell llm-sql-prompt "$HOME/Library/Application Support/BeeperTexts/index.db" --all ``` ## ローカルCLI開発 `just install_editable`を実行すると、チェックアウトを編集可能モードでグローバルにインストールでき、再インストールせずにソースの変更が反映されます。これには`uv`、`just`、`zsh`、`jq`が必要です。miseが利用可能な場合、このレシピはインストール済みの各`pipx:llm-sql-prompt`環境も更新し、miseがローカルチェックアウトを使用できるようにします。miseのアップグレード後(編集可能なインストールを置き換えるため)に再実行してください。 ### リモートポートへのトンネリング SSHトンネリングで本番データベースを扱う場合、READMEにはプロセスを簡素化するシェル関数(`find_random_open_port`と`ssh-tunnel`)が記載されています。 ## TODO - [x] Postgres対応 - [x] 単一エントリーポイント - [x] 列とテーブルのDBコメントを使用 - [x] 複数テーブル対応 - [ ] プロンプト調整 - [ ] プロンプトサイズ制限を理解し、収まるまでサンプルレコードを調整