pyctxpack 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,48 @@
1
+ # --- Python Standard ---
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+ *.so
6
+ .mypy_cache/
7
+ .ruff_cache/
8
+
9
+ # --- Distribution / Build ---
10
+ # PyPI公開時のビルド成果物
11
+ build/
12
+ dist/
13
+ local_settings.py
14
+ *.egg-info/
15
+ .installed.cfg
16
+ *.egg
17
+
18
+ # --- uv / Virtual Environments ---
19
+ # 仮想環境とuv特有のキャッシュ
20
+ .venv/
21
+ .uv/
22
+
23
+ # --- Testing / Coverage ---
24
+ # pytestのキャッシュとカバレッジレポート
25
+ .pytest_cache/
26
+ .coverage
27
+ .coverage.*
28
+ htmlcov/
29
+ docs/coverage/
30
+ docs/report.html
31
+ nosetests.xml
32
+ coverage.xml
33
+ *.cover
34
+ *.py,cover
35
+ assets/
36
+
37
+ # --- IDEs / Editors ---
38
+ # 開発者の環境依存ファイル
39
+ .vscode/
40
+ .idea/
41
+ *.swp
42
+ *.swo
43
+ .DS_Store
44
+
45
+ # --- Project Specific ---
46
+ # 実行時に生成される成果物
47
+ out.md
48
+ context.md
@@ -0,0 +1 @@
1
+ 3.13
@@ -0,0 +1,127 @@
1
+ Metadata-Version: 2.4
2
+ Name: pyctxpack
3
+ Version: 0.1.0
4
+ Summary: Combine source files into a single text file for AI context (ChatGPT, Claude, Gemini)
5
+ Project-URL: Homepage, https://github.com/pekokana/ctxpack
6
+ Project-URL: Repository, https://github.com/pekokana/ctxpack
7
+ Project-URL: Issues, https://github.com/pekokana/ctxpack/issues
8
+ Author: pekokana
9
+ License: MIT
10
+ Keywords: ai,cli,context,development,llm,prompt-engineering
11
+ Classifier: Development Status :: 4 - Beta
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: License :: OSI Approved :: MIT License
14
+ Classifier: Programming Language :: Python :: 3.13
15
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
16
+ Classifier: Topic :: Utilities
17
+ Requires-Python: >=3.10
18
+ Requires-Dist: pathspec>=1.0.4
19
+ Description-Content-Type: text/markdown
20
+
21
+ # ctxpack
22
+
23
+ **ctxpack** は、ローカルリポジトリのソースコードを1つのテキストファイルにまとめ、LLM(ChatGPT, Claude, Gemini等)に渡すコンテキストを瞬時に作成するためのコマンドラインツールです。
24
+
25
+ 多くのファイルを扱うプロジェクトでも、適切なフィルタリングとフォーマットによって、AIへの依頼をスムーズにします。
26
+
27
+
28
+ ## 主な特徴
29
+
30
+ * **スマートなファイル収集**: ディレクトリを再帰的にスキャンし、ソースファイルを統合。
31
+ * **柔軟なフィルタリング**: 拡張子、最大ファイルサイズ、最大ファイル数による制限。
32
+ * **.gitignore 対応**: プロジェクトの無視設定を尊重し、不要なファイル(node_modules等)を除外。
33
+ * **プロジェクト構造の可視化**: ファイルリストの冒頭にディレクトリツリーを自動挿入。
34
+ * **堅牢な文字コード判定**: UTF-8, UTF-16, CP932(Shift_JIS) を自動判別。バイナリファイルは自動でスキップ。
35
+ * **トークン数見積もり**: LLMに渡す前に、おおよそのトークン数を確認可能。
36
+
37
+
38
+
39
+ ## インストール
40
+
41
+ ```bash
42
+ pip install ctxpack
43
+
44
+ ```
45
+
46
+ または **uv** を使用している場合:
47
+
48
+ ```bash
49
+ uv tool install ctxpack
50
+
51
+ ```
52
+
53
+
54
+ ## 使い方
55
+
56
+ 基本コマンド:
57
+
58
+ ```bash
59
+ ctxpack src/ -o context.md
60
+
61
+ ```
62
+
63
+ ### よく使うオプション
64
+
65
+ **拡張子を限定する:**
66
+
67
+ ```bash
68
+ ctxpack . -o out.md -e py,js,ts
69
+
70
+ ```
71
+
72
+ **プロジェクト構造を含め、.gitignoreを反映させる:**
73
+
74
+ ```bash
75
+ ctxpack . -o out.md --tree --gitignore
76
+
77
+ ```
78
+
79
+ **トークン数を見積もり、ファイルにも記録する:**
80
+
81
+ ```bash
82
+ ctxpack . -o out.md --estimate-tokens --token-output
83
+
84
+ ```
85
+
86
+ **LLMに最適化されたフォーマット(セパレーターを強化)を使用:**
87
+
88
+ ```bash
89
+ ctxpack . -o out.md --llm-format
90
+
91
+ ```
92
+
93
+
94
+ ## コマンドライン引数詳細
95
+
96
+ | 引数 | 説明 |
97
+ | --- | --- |
98
+ | `target` | 対象となるディレクトリまたはファイル |
99
+ | `-o, --output` | **[必須]** 出力先のファイル名 |
100
+ | `-e, --ext` | 対象とする拡張子(カンマ区切り。例: `py,ts`) |
101
+ | `--max-size` | 収集するファイルの最大サイズ (KB) |
102
+ | `--max-files` | 収集する最大ファイル数 |
103
+ | `--tree` | 出力の冒頭にプロジェクト構造(ツリー)を含める |
104
+ | `--gitignore` | `.gitignore` の設定に従ってファイルを無視する |
105
+ | `--estimate-tokens` | 実行時に推定トークン数を表示 |
106
+ | `--token-output` | ファイルの末尾に推定トークン数を書き込む |
107
+ | `--llm-format` | LLMがファイルを識別しやすいフォーマットを使用する |
108
+
109
+
110
+
111
+ ## ライセンス
112
+
113
+ [MIT License](https://www.google.com/search?q=LICENSE)
114
+
115
+
116
+
117
+ ## 貢献
118
+
119
+ Issue や Pull Request は大歓迎です。
120
+ 開発環境のセットアップ:
121
+
122
+ ```bash
123
+ git clone https://github.com/pekokana/ctxpack.git
124
+ cd ctxpack
125
+ uv sync
126
+ uv run pytest # 全テストの実行
127
+
@@ -0,0 +1,107 @@
1
+ # ctxpack
2
+
3
+ **ctxpack** は、ローカルリポジトリのソースコードを1つのテキストファイルにまとめ、LLM(ChatGPT, Claude, Gemini等)に渡すコンテキストを瞬時に作成するためのコマンドラインツールです。
4
+
5
+ 多くのファイルを扱うプロジェクトでも、適切なフィルタリングとフォーマットによって、AIへの依頼をスムーズにします。
6
+
7
+
8
+ ## 主な特徴
9
+
10
+ * **スマートなファイル収集**: ディレクトリを再帰的にスキャンし、ソースファイルを統合。
11
+ * **柔軟なフィルタリング**: 拡張子、最大ファイルサイズ、最大ファイル数による制限。
12
+ * **.gitignore 対応**: プロジェクトの無視設定を尊重し、不要なファイル(node_modules等)を除外。
13
+ * **プロジェクト構造の可視化**: ファイルリストの冒頭にディレクトリツリーを自動挿入。
14
+ * **堅牢な文字コード判定**: UTF-8, UTF-16, CP932(Shift_JIS) を自動判別。バイナリファイルは自動でスキップ。
15
+ * **トークン数見積もり**: LLMに渡す前に、おおよそのトークン数を確認可能。
16
+
17
+
18
+
19
+ ## インストール
20
+
21
+ ```bash
22
+ pip install ctxpack
23
+
24
+ ```
25
+
26
+ または **uv** を使用している場合:
27
+
28
+ ```bash
29
+ uv tool install ctxpack
30
+
31
+ ```
32
+
33
+
34
+ ## 使い方
35
+
36
+ 基本コマンド:
37
+
38
+ ```bash
39
+ ctxpack src/ -o context.md
40
+
41
+ ```
42
+
43
+ ### よく使うオプション
44
+
45
+ **拡張子を限定する:**
46
+
47
+ ```bash
48
+ ctxpack . -o out.md -e py,js,ts
49
+
50
+ ```
51
+
52
+ **プロジェクト構造を含め、.gitignoreを反映させる:**
53
+
54
+ ```bash
55
+ ctxpack . -o out.md --tree --gitignore
56
+
57
+ ```
58
+
59
+ **トークン数を見積もり、ファイルにも記録する:**
60
+
61
+ ```bash
62
+ ctxpack . -o out.md --estimate-tokens --token-output
63
+
64
+ ```
65
+
66
+ **LLMに最適化されたフォーマット(セパレーターを強化)を使用:**
67
+
68
+ ```bash
69
+ ctxpack . -o out.md --llm-format
70
+
71
+ ```
72
+
73
+
74
+ ## コマンドライン引数詳細
75
+
76
+ | 引数 | 説明 |
77
+ | --- | --- |
78
+ | `target` | 対象となるディレクトリまたはファイル |
79
+ | `-o, --output` | **[必須]** 出力先のファイル名 |
80
+ | `-e, --ext` | 対象とする拡張子(カンマ区切り。例: `py,ts`) |
81
+ | `--max-size` | 収集するファイルの最大サイズ (KB) |
82
+ | `--max-files` | 収集する最大ファイル数 |
83
+ | `--tree` | 出力の冒頭にプロジェクト構造(ツリー)を含める |
84
+ | `--gitignore` | `.gitignore` の設定に従ってファイルを無視する |
85
+ | `--estimate-tokens` | 実行時に推定トークン数を表示 |
86
+ | `--token-output` | ファイルの末尾に推定トークン数を書き込む |
87
+ | `--llm-format` | LLMがファイルを識別しやすいフォーマットを使用する |
88
+
89
+
90
+
91
+ ## ライセンス
92
+
93
+ [MIT License](https://www.google.com/search?q=LICENSE)
94
+
95
+
96
+
97
+ ## 貢献
98
+
99
+ Issue や Pull Request は大歓迎です。
100
+ 開発環境のセットアップ:
101
+
102
+ ```bash
103
+ git clone https://github.com/pekokana/ctxpack.git
104
+ cd ctxpack
105
+ uv sync
106
+ uv run pytest # 全テストの実行
107
+