spawnio 1.0.5__tar.gz → 1.0.7__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.
Files changed (102) hide show
  1. {spawnio-1.0.5 → spawnio-1.0.7}/.github/workflows/ci.yml +29 -29
  2. spawnio-1.0.7/.github/workflows/publish.yml +24 -0
  3. {spawnio-1.0.5 → spawnio-1.0.7}/LICENSE +21 -21
  4. {spawnio-1.0.5 → spawnio-1.0.7}/PKG-INFO +74 -21
  5. {spawnio-1.0.5 → spawnio-1.0.7}/README.md +840 -787
  6. {spawnio-1.0.5 → spawnio-1.0.7}/docs/architecture.md +194 -194
  7. {spawnio-1.0.5 → spawnio-1.0.7}/docs/changelog.md +424 -391
  8. spawnio-1.0.7/docs/commands.md +473 -0
  9. spawnio-1.0.7/docs/getting-started.md +267 -0
  10. {spawnio-1.0.5 → spawnio-1.0.7}/pyproject.toml +28 -28
  11. {spawnio-1.0.5 → spawnio-1.0.7}/src/spawn/__init__.py +6 -6
  12. {spawnio-1.0.5 → spawnio-1.0.7}/src/spawn/cli/app.py +217 -218
  13. {spawnio-1.0.5 → spawnio-1.0.7}/src/spawn/cli/noninteractive.py +204 -204
  14. {spawnio-1.0.5 → spawnio-1.0.7}/src/spawn/cli/prompts.py +267 -267
  15. {spawnio-1.0.5 → spawnio-1.0.7}/src/spawn/core/exceptions.py +7 -7
  16. {spawnio-1.0.5 → spawnio-1.0.7}/src/spawn/core/models.py +21 -21
  17. {spawnio-1.0.5 → spawnio-1.0.7}/src/spawn/core/registry.py +152 -152
  18. {spawnio-1.0.5 → spawnio-1.0.7}/src/spawn/generators/custom_structure.py +508 -508
  19. {spawnio-1.0.5 → spawnio-1.0.7}/src/spawn/generators/project_generator.py +114 -114
  20. {spawnio-1.0.5 → spawnio-1.0.7}/src/spawn/github/exceptions.py +4 -4
  21. {spawnio-1.0.5 → spawnio-1.0.7}/src/spawn/github/publisher.py +68 -68
  22. {spawnio-1.0.5 → spawnio-1.0.7}/src/spawn/github/validators.py +22 -22
  23. {spawnio-1.0.5 → spawnio-1.0.7}/src/spawn/templates/agent/__init__.py +182 -182
  24. {spawnio-1.0.5 → spawnio-1.0.7}/src/spawn/templates/agent/content.py +374 -374
  25. {spawnio-1.0.5 → spawnio-1.0.7}/src/spawn/templates/automation/__init__.py +100 -100
  26. {spawnio-1.0.5 → spawnio-1.0.7}/src/spawn/templates/automation/content.py +181 -181
  27. {spawnio-1.0.5 → spawnio-1.0.7}/src/spawn/templates/backend_api/__init__.py +243 -243
  28. {spawnio-1.0.5 → spawnio-1.0.7}/src/spawn/templates/backend_api/content.py +509 -509
  29. {spawnio-1.0.5 → spawnio-1.0.7}/src/spawn/templates/base.py +58 -58
  30. {spawnio-1.0.5 → spawnio-1.0.7}/src/spawn/templates/chatbot/__init__.py +242 -242
  31. {spawnio-1.0.5 → spawnio-1.0.7}/src/spawn/templates/chatbot/content.py +655 -667
  32. {spawnio-1.0.5 → spawnio-1.0.7}/src/spawn/templates/cli_application/__init__.py +211 -211
  33. {spawnio-1.0.5 → spawnio-1.0.7}/src/spawn/templates/cli_application/content.py +512 -512
  34. {spawnio-1.0.5 → spawnio-1.0.7}/src/spawn/templates/data_project/__init__.py +125 -125
  35. {spawnio-1.0.5 → spawnio-1.0.7}/src/spawn/templates/data_project/analysis/__init__.py +74 -74
  36. {spawnio-1.0.5 → spawnio-1.0.7}/src/spawn/templates/data_project/analysis/content.py +190 -190
  37. {spawnio-1.0.5 → spawnio-1.0.7}/src/spawn/templates/data_project/dashboard/__init__.py +61 -61
  38. {spawnio-1.0.5 → spawnio-1.0.7}/src/spawn/templates/data_project/dashboard/content.py +135 -135
  39. {spawnio-1.0.5 → spawnio-1.0.7}/src/spawn/templates/data_project/etl/__init__.py +66 -66
  40. {spawnio-1.0.5 → spawnio-1.0.7}/src/spawn/templates/data_project/etl/content.py +239 -239
  41. {spawnio-1.0.5 → spawnio-1.0.7}/src/spawn/templates/data_project/ml/__init__.py +62 -62
  42. {spawnio-1.0.5 → spawnio-1.0.7}/src/spawn/templates/data_project/ml/content.py +239 -239
  43. {spawnio-1.0.5 → spawnio-1.0.7}/src/spawn/templates/mcp_server/__init__.py +83 -83
  44. {spawnio-1.0.5 → spawnio-1.0.7}/src/spawn/templates/mcp_server/content.py +161 -161
  45. {spawnio-1.0.5 → spawnio-1.0.7}/src/spawn/templates/rag/__init__.py +124 -124
  46. {spawnio-1.0.5 → spawnio-1.0.7}/src/spawn/templates/rag/content.py +463 -463
  47. {spawnio-1.0.5 → spawnio-1.0.7}/src/spawn/templates/shared_content.py +89 -89
  48. {spawnio-1.0.5 → spawnio-1.0.7}/src/spawn/utils/banner.py +41 -41
  49. spawnio-1.0.7/src/spawn/utils/console.py +9 -0
  50. {spawnio-1.0.5 → spawnio-1.0.7}/src/spawn/utils/doctor.py +594 -594
  51. {spawnio-1.0.5 → spawnio-1.0.7}/src/spawn/utils/git.py +131 -131
  52. {spawnio-1.0.5 → spawnio-1.0.7}/src/spawn/utils/success.py +47 -47
  53. {spawnio-1.0.5 → spawnio-1.0.7}/src/spawn/utils/theme.py +25 -25
  54. {spawnio-1.0.5 → spawnio-1.0.7}/src/spawn/utils/uv.py +61 -61
  55. spawnio-1.0.7/src/spawn/utils/validators.py +29 -0
  56. {spawnio-1.0.5 → spawnio-1.0.7}/tests/test_agent_generator.py +233 -233
  57. {spawnio-1.0.5 → spawnio-1.0.7}/tests/test_agent_template.py +233 -233
  58. {spawnio-1.0.5 → spawnio-1.0.7}/tests/test_app.py +471 -471
  59. {spawnio-1.0.5 → spawnio-1.0.7}/tests/test_automation_generator.py +242 -242
  60. {spawnio-1.0.5 → spawnio-1.0.7}/tests/test_automation_template.py +68 -68
  61. {spawnio-1.0.5 → spawnio-1.0.7}/tests/test_chatbot_generator.py +312 -312
  62. {spawnio-1.0.5 → spawnio-1.0.7}/tests/test_chatbot_template.py +650 -650
  63. {spawnio-1.0.5 → spawnio-1.0.7}/tests/test_cli_application_generator.py +224 -224
  64. {spawnio-1.0.5 → spawnio-1.0.7}/tests/test_cli_application_template.py +190 -190
  65. spawnio-1.0.7/tests/test_console.py +33 -0
  66. {spawnio-1.0.5 → spawnio-1.0.7}/tests/test_custom_structure.py +823 -823
  67. {spawnio-1.0.5 → spawnio-1.0.7}/tests/test_custom_structure_integration.py +136 -136
  68. {spawnio-1.0.5 → spawnio-1.0.7}/tests/test_data_project_analysis.py +187 -187
  69. {spawnio-1.0.5 → spawnio-1.0.7}/tests/test_data_project_dashboard.py +176 -176
  70. {spawnio-1.0.5 → spawnio-1.0.7}/tests/test_data_project_etl.py +224 -224
  71. {spawnio-1.0.5 → spawnio-1.0.7}/tests/test_data_project_gitignore.py +171 -171
  72. {spawnio-1.0.5 → spawnio-1.0.7}/tests/test_data_project_ml.py +208 -208
  73. {spawnio-1.0.5 → spawnio-1.0.7}/tests/test_doctor.py +679 -679
  74. {spawnio-1.0.5 → spawnio-1.0.7}/tests/test_generator.py +710 -710
  75. {spawnio-1.0.5 → spawnio-1.0.7}/tests/test_git.py +187 -187
  76. {spawnio-1.0.5 → spawnio-1.0.7}/tests/test_github_publisher.py +149 -149
  77. {spawnio-1.0.5 → spawnio-1.0.7}/tests/test_github_validators.py +57 -57
  78. {spawnio-1.0.5 → spawnio-1.0.7}/tests/test_mcp_server_generator.py +134 -134
  79. {spawnio-1.0.5 → spawnio-1.0.7}/tests/test_mcp_server_template.py +157 -157
  80. {spawnio-1.0.5 → spawnio-1.0.7}/tests/test_models.py +70 -70
  81. {spawnio-1.0.5 → spawnio-1.0.7}/tests/test_noninteractive.py +211 -211
  82. {spawnio-1.0.5 → spawnio-1.0.7}/tests/test_prompts.py +406 -406
  83. {spawnio-1.0.5 → spawnio-1.0.7}/tests/test_rag_generator.py +230 -230
  84. {spawnio-1.0.5 → spawnio-1.0.7}/tests/test_rag_template.py +324 -324
  85. {spawnio-1.0.5 → spawnio-1.0.7}/tests/test_registry.py +186 -186
  86. {spawnio-1.0.5 → spawnio-1.0.7}/tests/test_templates.py +252 -252
  87. {spawnio-1.0.5 → spawnio-1.0.7}/tests/test_uv.py +89 -89
  88. {spawnio-1.0.5 → spawnio-1.0.7}/tests/test_validators.py +115 -93
  89. {spawnio-1.0.5 → spawnio-1.0.7}/uv.lock +1 -1
  90. spawnio-1.0.5/docs/commands.md +0 -514
  91. spawnio-1.0.5/docs/getting-started.md +0 -192
  92. spawnio-1.0.5/src/spawn/utils/console.py +0 -3
  93. spawnio-1.0.5/src/spawn/utils/validators.py +0 -15
  94. {spawnio-1.0.5 → spawnio-1.0.7}/.gitignore +0 -0
  95. {spawnio-1.0.5 → spawnio-1.0.7}/.python-version +0 -0
  96. {spawnio-1.0.5 → spawnio-1.0.7}/assets/preview.png +0 -0
  97. {spawnio-1.0.5 → spawnio-1.0.7}/src/spawn/cli/__init__.py +0 -0
  98. {spawnio-1.0.5 → spawnio-1.0.7}/src/spawn/core/__init__.py +0 -0
  99. {spawnio-1.0.5 → spawnio-1.0.7}/src/spawn/generators/__init__.py +0 -0
  100. {spawnio-1.0.5 → spawnio-1.0.7}/src/spawn/github/__init__.py +0 -0
  101. {spawnio-1.0.5 → spawnio-1.0.7}/src/spawn/templates/__init__.py +0 -0
  102. {spawnio-1.0.5 → spawnio-1.0.7}/src/spawn/utils/__init__.py +0 -0
@@ -1,29 +1,29 @@
1
- name: CI
2
-
3
- on:
4
- push:
5
- branches: [main]
6
- pull_request:
7
- branches: [main]
8
-
9
- jobs:
10
- test:
11
- runs-on: ubuntu-latest
12
-
13
- steps:
14
- - uses: actions/checkout@v4
15
-
16
- - name: Install uv
17
- uses: astral-sh/setup-uv@v5
18
-
19
- - name: Set up Python
20
- run: uv python install 3.12
21
-
22
- - name: Install dependencies
23
- run: uv sync --all-groups
24
-
25
- - name: Run tests
26
- run: uv run pytest
27
-
28
- - name: Run ruff
29
- run: uv run ruff check .
1
+ name: CI
2
+
3
+ on:
4
+ push:
5
+ branches: [main]
6
+ pull_request:
7
+ branches: [main]
8
+
9
+ jobs:
10
+ test:
11
+ runs-on: ubuntu-latest
12
+
13
+ steps:
14
+ - uses: actions/checkout@v4
15
+
16
+ - name: Install uv
17
+ uses: astral-sh/setup-uv@v5
18
+
19
+ - name: Set up Python
20
+ run: uv python install 3.12
21
+
22
+ - name: Install dependencies
23
+ run: uv sync --all-groups
24
+
25
+ - name: Run tests
26
+ run: uv run pytest
27
+
28
+ - name: Run ruff
29
+ run: uv run ruff check .
@@ -0,0 +1,24 @@
1
+ name: Publish to PyPI
2
+
3
+ on:
4
+ release:
5
+ types: [published]
6
+
7
+ jobs:
8
+ build-and-publish:
9
+ runs-on: ubuntu-latest
10
+ environment: pypi
11
+ permissions:
12
+ id-token: write # required for trusted publishing
13
+
14
+ steps:
15
+ - uses: actions/checkout@v4
16
+
17
+ - name: Install uv
18
+ uses: astral-sh/setup-uv@v3
19
+
20
+ - name: Build package
21
+ run: uv build
22
+
23
+ - name: Publish to PyPI
24
+ run: uv publish
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2026 Abhiix0
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2026 Abhiix0
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: spawnio
3
- Version: 1.0.5
3
+ Version: 1.0.7
4
4
  Summary: Spawn a ready-to-use Python project in seconds
5
5
  License-File: LICENSE
6
6
  Requires-Python: >=3.12
@@ -10,12 +10,14 @@ Requires-Dist: typer>=0.26.7
10
10
  Description-Content-Type: text/markdown
11
11
 
12
12
  <div align="center">
13
- <img src="assets/preview.png" alt="Spawn — scaffold your next project" width="520" />
13
+ <img src="https://raw.githubusercontent.com/Abhiix0/Spawn/main/assets/preview.png" alt="Spawn — scaffold your next project" width="520" />
14
14
 
15
15
  > Eliminate repetitive project setup. Go from zero to a fully structured dev environment in seconds.
16
16
 
17
17
  Spawn is a local CLI tool that transforms one command into a complete Python project foundation — directories, Git, dependencies, and a virtual environment set up automatically, so you can start building immediately.
18
18
 
19
+ [![PyPI](https://img.shields.io/pypi/v/spawnio?style=flat-square&color=blue)](https://pypi.org/project/spawnio/)
20
+ [![Downloads](https://img.shields.io/pypi/dm/spawnio?style=flat-square&color=brightgreen)](https://pypi.org/project/spawnio/)
19
21
  [![Python](https://img.shields.io/badge/Python-3.12+-blue?style=flat-square)](https://python.org)
20
22
  [![Tests](https://img.shields.io/badge/Tests-Passing-brightgreen?style=flat-square)](https://github.com/Abhiix0/spawn/actions)
21
23
  [![License](https://img.shields.io/badge/License-MIT-green?style=flat-square)](LICENSE)
@@ -92,6 +94,7 @@ It's repetitive. It's inconsistent. And you haven't written a single line of *re
92
94
  ## Prerequisites
93
95
 
94
96
  - **Python 3.12+** — [Download here](https://python.org/downloads)
97
+ > `pip install spawnio` will silently return "no matching distribution" on Python < 3.12. If you're using uv, run `uv python install 3.12` to get a compatible interpreter in seconds.
95
98
  - **uv** — [Install guide](https://github.com/astral-sh/uv)
96
99
  - **Git** — [Download here](https://git-scm.com/downloads)
97
100
 
@@ -101,6 +104,28 @@ It's repetitive. It's inconsistent. And you haven't written a single line of *re
101
104
 
102
105
  ## Installation
103
106
 
107
+ **Option 1 — Install from PyPI (recommended)**
108
+
109
+ ```bash
110
+ pip install spawnio
111
+ ```
112
+
113
+ or, using `uv`:
114
+
115
+ ```bash
116
+ uv tool install spawnio
117
+ ```
118
+
119
+ or run it without installing:
120
+
121
+ ```bash
122
+ uvx --from spawnio spawn create
123
+ ```
124
+
125
+ You can now run `spawn` from anywhere on your machine.
126
+
127
+ **Option 2 — Install from source (for contributing)**
128
+
104
129
  ```bash
105
130
  git clone https://github.com/Abhiix0/spawn.git
106
131
  cd spawn
@@ -108,12 +133,30 @@ uv sync
108
133
  uv tool install .
109
134
  ```
110
135
 
111
- You can now run `spawn` from anywhere on your machine.
112
-
113
136
  ---
114
137
 
115
138
  ## Usage
116
139
 
140
+ ### Quick overview — `spawn` with no arguments
141
+
142
+ Running `spawn` with no arguments shows the banner, the installed version, and the list of available commands — useful when you just want a reminder of what's available without starting a project flow.
143
+
144
+ ```
145
+ SPAWN — scaffold your next project
146
+ v1.0.6
147
+
148
+ Commands
149
+ create Scaffold a new project
150
+ doctor Check the health of a project directory
151
+ version Show the installed version
152
+
153
+ Run spawn COMMAND --help for details on a command.
154
+ ```
155
+
156
+ ---
157
+
158
+ ### `spawn create`
159
+
117
160
  ```bash
118
161
  spawn create
119
162
  ```
@@ -130,7 +173,6 @@ Spawn rejects names with spaces or special characters, and tells you immediately
130
173
 
131
174
  **Step 2 — Pick a template**
132
175
 
133
- ```
134
176
  Use the arrow keys to move, Enter to select — the same pattern every prompt in Spawn follows.
135
177
 
136
178
  ```
@@ -145,7 +187,6 @@ Use the arrow keys to move, Enter to select — the same pattern every prompt in
145
187
  MCP Server
146
188
  Custom Structure
147
189
  ```
148
- ```
149
190
 
150
191
  **Step 3 — Additional prompts** *(template-dependent — framework, provider, project type, and/or extras, depending on what you picked. See [Project Templates](#project-templates) below for each one's exact flow.)*
151
192
 
@@ -565,7 +606,7 @@ Then add it to your MCP client's config — see the generated project's own READ
565
606
 
566
607
  ## Bring Your Own Structure
567
608
 
568
- None of the eight templates above fit? **Custom Structure** shows up as the last option in the same `spawn create` picker (`9`) — it's not a separate command, just a different path through the same flow.
609
+ None of the eight templates above fit? **Custom Structure** shows up as the last option in the same `spawn create` picker — it's not a separate command, just a different path through the same flow.
569
610
 
570
611
  Paste any of three text formats — Unix `tree` output, a Markdown list, or plain indented hierarchy — and Spawn parses it, previews the detected folders and files, then creates the structure with the same Git and uv setup as every other template.
571
612
 
@@ -704,7 +745,7 @@ Checks span six categories — Documentation, Version Control, Configuration, Te
704
745
 
705
746
  ```bash
706
747
  spawn version
707
- # → Spawn v1.0.5
748
+ # → Spawn v1.0.7
708
749
  ```
709
750
 
710
751
  ### Publish to GitHub
@@ -734,19 +775,31 @@ All tests should pass. If they don't, please [open an issue](https://github.com/
734
775
 
735
776
  ## Roadmap
736
777
 
737
- **Recently shipped**
778
+ ### Shipped
738
779
 
739
- - Arrow-key menus, no-args banner, and consistent Ctrl+C handling (v1.0.5)
740
- - AGENTS.md / CLAUDE.md generation — every project ships agent context automatically, `--claude-md` opt-in for Claude Code (v1.0.4)
741
- - MCP Server intent — official `mcp` SDK, one working tool + resource, stdio transport (v1.0.3)
742
- - Non-interactive mode — `--name`/`--template`/flags or `--config` JSON, zero prompts (v1.0.2)
743
- - Custom Structure workflow — paste any folder layout, Spawn creates it (v1.0.0)
744
- - Doctor 2.0 — per-category health percentages, tiered recommendations, Next Best Step (v1.0.0)
745
- - Data Project intent — analysis, dashboard, ETL, ML sub-options (v0.9.0)
746
- - RAG System intent — LlamaIndex + ChromaDB (v0.8.0)
747
- - AI Agent intent — tool-calling with PydanticAI / OpenAI Agents SDK (v0.7.0)
780
+ | Version | Highlight |
781
+ |---|---|
782
+ | **v1.0.7** | Fixed UTF-8 console crash on Windows when stdout is redirected/piped, added Windows reserved device name validation (`CON`, `PRN`, `AUX`, `NUL`, `COM1`–`9`, `LPT1`–`9`), clarified Python 3.12 requirement |
783
+ | **v1.0.6** | Removed duplicate banner from `spawn create`; `spawn` alone now shows the banner and command overview |
784
+ | **v1.0.5** | Published to PyPI as `spawnio`; arrow-key selection menus, no-args banner, consistent Ctrl+C handling |
785
+ | **v1.0.4** | `AGENTS.md` / `CLAUDE.md` generation for every project, `--claude-md` opt-in |
786
+ | **v1.0.3** | MCP Server intent — official `mcp` SDK, one working tool + resource |
787
+ | **v1.0.2** | Non-interactive mode — `--name`/`--template` flags or `--config` JSON |
788
+ | **v1.0.1** | Custom Structure: dependency install, optional dev tooling setup, smart README/`.gitignore` generation |
789
+ | **v1.0.0** | Custom Structure workflow (paste any folder layout) + Doctor 2.0 (per-category scores, tiered recommendations) |
790
+ | **v0.9.0** | Data Project intent — analysis, dashboard, ETL, ML sub-types |
791
+ | **v0.8.0** | RAG System intent — LlamaIndex + ChromaDB |
792
+ | **v0.7.0** | AI Agent intent — tool-calling with PydanticAI / OpenAI Agents SDK |
793
+ | **v0.6.0** | AI Chatbot intent — 3 frameworks, 6 providers, runtime memory |
794
+ | **v0.5.0** | Automation Tool intent — workflows, logging, working example out of the box |
795
+ | **v0.4.0** | CLI Application intent — Typer/Click/Argparse, Utility/Interactive types |
796
+ | **v0.3.0** | Backend API intent — FastAPI/Flask/Django, extras system, `.spawn/meta.json` |
797
+ | **v0.2.0** | GitHub publishing from the CLI, `spawn doctor` health checker, CI workflow |
798
+ | **v0.1.0** | Initial release — `spawn create`, 4 templates, Git + uv integration |
799
+
800
+ ---
748
801
 
749
- **What's next**
802
+ ## What's next
750
803
 
751
804
  Nothing formally scheduled yet. Ideas under consideration live in [Issues](https://github.com/Abhiix0/spawn/issues); open one if there's something you'd want to see.
752
805
 
@@ -793,6 +846,6 @@ This project is open source under the [MIT License](LICENSE).
793
846
 
794
847
  <div align="center">
795
848
 
796
- **[Star on GitHub](https://github.com/Abhiix0/spawn)** · **[Report a Bug](https://github.com/Abhiix0/spawn/issues)** · **[Request a Feature](https://github.com/Abhiix0/spawn/issues)**
849
+ **[ Star on GitHub](https://github.com/Abhiix0/spawn)** · **[ report a bug](https://github.com/Abhiix0/spawn/issues)** · **[ request a Feature](https://github.com/Abhiix0/spawn/issues)** · **[ PyPI](https://pypi.org/project/spawnio/)**
797
850
 
798
- </div>
851
+ </div>