bloom-framework 0.1.0__py3-none-any.whl
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,65 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: bloom-framework
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: Bloom - The Local-First AI Engine CLI
|
|
5
|
+
Project-URL: Homepage, https://bloom-language.vercel.app
|
|
6
|
+
Project-URL: Repository, https://github.com/Raymon-del2/bloom-language
|
|
7
|
+
Project-URL: Documentation, https://bloom-language.vercel.app
|
|
8
|
+
Project-URL: Issues, https://github.com/Raymon-del2/bloom-language/issues
|
|
9
|
+
Author-email: Bloom Team <team@bloom.dev>
|
|
10
|
+
License-Expression: MIT
|
|
11
|
+
Keywords: ai,bloom,cli,framework,local-first
|
|
12
|
+
Classifier: Development Status :: 3 - Alpha
|
|
13
|
+
Classifier: Intended Audience :: Developers
|
|
14
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
15
|
+
Classifier: Programming Language :: Python :: 3
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
20
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
21
|
+
Requires-Python: >=3.8
|
|
22
|
+
Requires-Dist: click>=8.0.0
|
|
23
|
+
Requires-Dist: pydantic>=2.0.0
|
|
24
|
+
Requires-Dist: rich>=13.0.0
|
|
25
|
+
Description-Content-Type: text/markdown
|
|
26
|
+
|
|
27
|
+
# @bloom/seed
|
|
28
|
+
|
|
29
|
+
CLI for Bloom seed creation and management.
|
|
30
|
+
|
|
31
|
+
## Installation
|
|
32
|
+
|
|
33
|
+
```bash
|
|
34
|
+
npm install @bloom/seed
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
## Usage
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
# Create a new seed
|
|
41
|
+
bloom-seed my-app
|
|
42
|
+
|
|
43
|
+
# Initialize a project
|
|
44
|
+
bloom-init
|
|
45
|
+
|
|
46
|
+
# Crystalize for production
|
|
47
|
+
bloom-crystal
|
|
48
|
+
|
|
49
|
+
# Sprout a preview
|
|
50
|
+
bloom-sprout
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## API
|
|
54
|
+
|
|
55
|
+
### `createSeed(name: string, options?: SeedOptions): Promise<Seed>`
|
|
56
|
+
|
|
57
|
+
Creates a new Bloom seed.
|
|
58
|
+
|
|
59
|
+
### `initProject(path?: string): Promise<void>`
|
|
60
|
+
|
|
61
|
+
Initializes a Bloom project in the specified directory.
|
|
62
|
+
|
|
63
|
+
## License
|
|
64
|
+
|
|
65
|
+
MIT
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
bloom_seed/__init__.py,sha256=GANVmSfg2pXtCKxRhDgC0zj_0V3rDbu4LeApGXWJ5yg,67
|
|
2
|
+
bloom_seed/cli.py,sha256=b-LEkWgVQI1zD3Hg6-mBDN4gg5PvNrWbYYGA0fwgfpk,2820
|
|
3
|
+
bloom_framework-0.1.0.dist-info/METADATA,sha256=JJSWmQAUZFmJCT9NOB4BUBse0M26UJndUidVoSZJyG0,1585
|
|
4
|
+
bloom_framework-0.1.0.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
5
|
+
bloom_framework-0.1.0.dist-info/entry_points.txt,sha256=xp1u6NJBqLjeeXeHiK37WteTxc3qTB5CPX6P3teo6PU,190
|
|
6
|
+
bloom_framework-0.1.0.dist-info/RECORD,,
|
bloom_seed/__init__.py
ADDED
bloom_seed/cli.py
ADDED
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
"""Bloom CLI - Main entry point"""
|
|
2
|
+
|
|
3
|
+
import click
|
|
4
|
+
from rich.console import Console
|
|
5
|
+
from rich.panel import Panel
|
|
6
|
+
from rich.text import Text
|
|
7
|
+
|
|
8
|
+
console = Console()
|
|
9
|
+
|
|
10
|
+
__version__ = "0.1.0"
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
def print_banner():
|
|
14
|
+
"""Print the Bloom banner"""
|
|
15
|
+
banner = Text()
|
|
16
|
+
banner.append("🌱 ", style="green")
|
|
17
|
+
banner.append("Bloom", style="bold green")
|
|
18
|
+
banner.append(" - The Local-First AI Engine\n", style="dim")
|
|
19
|
+
banner.append(f"v{__version__}", style="cyan")
|
|
20
|
+
console.print(Panel(banner, border_style="green"))
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
@click.group()
|
|
24
|
+
@click.version_option(version=__version__, prog_name="bloom")
|
|
25
|
+
def cli():
|
|
26
|
+
"""Bloom - The Local-First AI Engine CLI"""
|
|
27
|
+
pass
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
@cli.command()
|
|
31
|
+
def seed(name):
|
|
32
|
+
"""Create a new Bloom seed (project)"""
|
|
33
|
+
print_banner()
|
|
34
|
+
console.print(f"[green]Planting seed:[/green] {name}")
|
|
35
|
+
console.print("[dim]Creating project structure...[/dim]")
|
|
36
|
+
# TODO: Implement seed creation
|
|
37
|
+
console.print(f"[green]✓[/green] Created {name}/")
|
|
38
|
+
console.print("[dim]Run 'cd {name} && bloom grow' to start developing[/dim]")
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
@cli.command()
|
|
42
|
+
def init():
|
|
43
|
+
"""Initialize a Bloom project in current directory"""
|
|
44
|
+
print_banner()
|
|
45
|
+
console.print("[green]Initializing Bloom project...[/green]")
|
|
46
|
+
# TODO: Implement init
|
|
47
|
+
console.print("[green]✓[/green] Initialized bloom.yaml")
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
@cli.command()
|
|
51
|
+
def grow():
|
|
52
|
+
"""Start the Pulse development server"""
|
|
53
|
+
print_banner()
|
|
54
|
+
console.print("[green]🌱 Growing your Bloom application...[/green]")
|
|
55
|
+
console.print("[dim]Starting Pulse server on http://localhost:8080[/dim]")
|
|
56
|
+
console.print("[dim]Press Ctrl+C to stop[/dim]")
|
|
57
|
+
# TODO: Implement server
|
|
58
|
+
try:
|
|
59
|
+
while True:
|
|
60
|
+
pass
|
|
61
|
+
except KeyboardInterrupt:
|
|
62
|
+
console.print("\n[dim]Shutting down...[/dim]")
|
|
63
|
+
|
|
64
|
+
|
|
65
|
+
@cli.command()
|
|
66
|
+
def crystalize():
|
|
67
|
+
"""Crystalize (build) for production"""
|
|
68
|
+
print_banner()
|
|
69
|
+
console.print("[green]💎 Crystalizing your Bloom application...[/green]")
|
|
70
|
+
# TODO: Implement build
|
|
71
|
+
console.print("[green]✓[/green] Build complete in dist/")
|
|
72
|
+
|
|
73
|
+
|
|
74
|
+
@cli.command()
|
|
75
|
+
def plant():
|
|
76
|
+
"""Deploy (plant) your application"""
|
|
77
|
+
print_banner()
|
|
78
|
+
console.print("[green]🌐 Planting your Bloom application...[/green]")
|
|
79
|
+
# TODO: Implement deploy
|
|
80
|
+
console.print("[green]✓[/green] Deployed successfully")
|
|
81
|
+
|
|
82
|
+
|
|
83
|
+
# Alias commands for backwards compatibility
|
|
84
|
+
@click.command()
|
|
85
|
+
@click.argument("name")
|
|
86
|
+
def seed_cmd(name):
|
|
87
|
+
"""bloom-seed alias"""
|
|
88
|
+
seed.callback(name)
|
|
89
|
+
|
|
90
|
+
|
|
91
|
+
@click.command()
|
|
92
|
+
def init_cmd():
|
|
93
|
+
"""bloom-init alias"""
|
|
94
|
+
init.callback()
|
|
95
|
+
|
|
96
|
+
|
|
97
|
+
@click.command()
|
|
98
|
+
def grow_cmd():
|
|
99
|
+
"""bloom-grow alias"""
|
|
100
|
+
grow.callback()
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
@click.command()
|
|
104
|
+
def crystalize_cmd():
|
|
105
|
+
"""bloom-crystalize alias"""
|
|
106
|
+
crystalize.callback()
|
|
107
|
+
|
|
108
|
+
|
|
109
|
+
def main():
|
|
110
|
+
"""Main entry point"""
|
|
111
|
+
cli()
|
|
112
|
+
|
|
113
|
+
|
|
114
|
+
if __name__ == "__main__":
|
|
115
|
+
main()
|