Bun + TypeScript フロントエンド環境を1コマンドで構築するツール
Project description
tssetup
PowerShellやCMDから1コマンドで、Bun + TypeScript の高速なフロントエンド開発環境(ホットリロードサーバー内蔵)を初期構築するツールです。
🚀 特徴
- 瞬時にプロジェクト開始: フォルダ作成、
bun init、tsconfig.jsonの設定、ホットリロードサーバースクリプトの作成を自動で一括実行します。 - 多彩な初期テンプレート:
default: Destyle.css を内包したシンプルな構成(ダークモード対応)。tailwind: CDN版 Tailwind CSS が即座に使えるレイアウト構成。router: ライブラリを使わずに HTML5 History API を利用した、自作の超軽量 SPA ルーティング構成。empty: 最少構成(空の TypeScript ファイルとシンプルな HTML)。
- エディタ連携:
--codeオプションを付けるだけで、作成したプロジェクトフォルダを VS Code で即座に開きます。 - 自動バージョン確認: 実行時に最新バージョンを確認し、更新がある場合は通知します。
🛠️ インストール方法
pip(推奨):
pip install tssetup
[!NOTE]
- PowerShell・CMD・Windows Terminal どれからでも使えます。
- 動作には Python 3.9+ と Bun が必要です。
⚙️ 動作に必要な環境(依存関係)
| ツール | 用途 | インストール |
|---|---|---|
| Python 3.9+ | tssetup 本体の実行 | python.org |
| Bun | プロジェクト初期化・TSコンパイル | powershell -c "irm bun.sh/install.ps1 | iex" |
| VS Code (任意) | --code オプション使用時 |
code.visualstudio.com |
⚡ 使い方と全パラメータ一覧
tssetup <プロジェクト名> [--mode <モード名>] [--title <タイトル名>] [--code]
引数なしで実行するとバージョン情報・開発者情報のインフォ画面が表示されます。
パラメータ(引数)詳細
| パラメータ | 短縮形 | 型 | 必須 | デフォルト値 | 説明 |
|---|---|---|---|---|---|
project_name |
- | string | はい | - | 作成するプロジェクトのフォルダ名 |
--mode |
-m |
string | いいえ | default |
テンプレートモード(default / tailwind / router / empty) |
--title |
-t |
string | いいえ | "Bun + TS App" |
<title> タグに埋め込むテキスト |
--code |
-c |
flag | いいえ | - | セットアップ完了後に VS Code で開く |
--version |
-v |
flag | いいえ | - | バージョンを表示 |
--help |
-h |
flag | いいえ | - | ヘルプを表示 |
コマンド実行例
# 標準テンプレートで作成
tssetup my-app
# Tailwind CSS 組み込み + VS Code で開く
tssetup my-app --mode tailwind --code
# 自作 SPA ルーター構成
tssetup my-app --mode router --title "マイSPAサイト"
# 最小構成
tssetup my-app --mode empty
📁 作成されるファイル構成
my-app/
├── src/
│ └── index.ts ← エントリポイント(--mode で内容が変わる)
├── dist/ ← tsc が自動生成するJS出力先
├── node_modules/ ← bun install が自動生成
├── index.html ← フロントエンドのHTML
├── server.ts ← ホットリロード対応の開発用Webサーバー
├── tsconfig.json ← TypeScript コンパイラ設定
└── package.json ← Bun プロジェクト設定
プロジェクト作成後は自動的にそのディレクトリへ移動します。そのまま tsbuild を実行すれば開発を始められます。
🔄 アップデート
pip install --upgrade tssetup
✉️ 問い合わせ先
- X (旧Twitter): @Lapius7
- GitHub Issues: Lapius7/tssetup/issues
⚠️ 免責事項
本ソフトウェアの使用によって生じた直接的・間接的な損害について、作者は一切の責任を負いません。自己責任のもとでご使用ください。
📄 ライセンス & コピーライト
本プロジェクトは MIT License のもとで公開されています。
Copyright (c) 2026 Lapius7
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file tssetup-1.0.0.tar.gz.
File metadata
- Download URL: tssetup-1.0.0.tar.gz
- Upload date:
- Size: 11.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
77fb5e920c9929bec232149d7fac507dc48335f2db84377fc054bfcd079c5e45
|
|
| MD5 |
be58e7ceb9babadcf220f5ebfc7d8a3d
|
|
| BLAKE2b-256 |
a7b5b6b31a61397a7364990c6d9efe3e6311765e6c37f6815cb7d9c1cef8808c
|
Provenance
The following attestation bundles were made for tssetup-1.0.0.tar.gz:
Publisher:
publish.yml on Lapius7/tssetup
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tssetup-1.0.0.tar.gz -
Subject digest:
77fb5e920c9929bec232149d7fac507dc48335f2db84377fc054bfcd079c5e45 - Sigstore transparency entry: 1809936038
- Sigstore integration time:
-
Permalink:
Lapius7/tssetup@4af5a9365ffd69f90ed8ec2950cba5d81624332f -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/Lapius7
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@4af5a9365ffd69f90ed8ec2950cba5d81624332f -
Trigger Event:
release
-
Statement type:
File details
Details for the file tssetup-1.0.0-py3-none-any.whl.
File metadata
- Download URL: tssetup-1.0.0-py3-none-any.whl
- Upload date:
- Size: 9.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8f1ad02574bd5ebd1e55358ff2f08e5ea265d29341eabee53e0694ddc4d443c2
|
|
| MD5 |
1c51947010a8ae4b1679c03aa9a00d50
|
|
| BLAKE2b-256 |
f7fa75d2ff225dac34679fdbc9e8bad14d3b4ab1bbc031d4fc2fa7bb2e7fc09d
|
Provenance
The following attestation bundles were made for tssetup-1.0.0-py3-none-any.whl:
Publisher:
publish.yml on Lapius7/tssetup
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tssetup-1.0.0-py3-none-any.whl -
Subject digest:
8f1ad02574bd5ebd1e55358ff2f08e5ea265d29341eabee53e0694ddc4d443c2 - Sigstore transparency entry: 1809936048
- Sigstore integration time:
-
Permalink:
Lapius7/tssetup@4af5a9365ffd69f90ed8ec2950cba5d81624332f -
Branch / Tag:
refs/tags/v1.0.0 - Owner: https://github.com/Lapius7
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@4af5a9365ffd69f90ed8ec2950cba5d81624332f -
Trigger Event:
release
-
Statement type: