alms-cli 0.1.4__tar.gz → 0.1.5__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: alms-cli
3
- Version: 0.1.4
3
+ Version: 0.1.5
4
4
  Summary: ALMS CLI - Beautiful project scaffolding tool for AI-first backends
5
5
  Project-URL: Homepage, https://github.com/KJ-AIML/alms
6
6
  Project-URL: Repository, https://github.com/KJ-AIML/alms
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "alms-cli"
3
- version = "0.1.4"
3
+ version = "0.1.5"
4
4
  description = "ALMS CLI - Beautiful project scaffolding tool for AI-first backends"
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.13"
@@ -86,20 +86,40 @@ def init_command(
86
86
  print_info("Select features to include:")
87
87
  console.print()
88
88
 
89
- answers = questionary.checkbox(
90
- "Features:",
91
- choices=[
92
- questionary.Choice("Database (PostgreSQL)", checked=True),
93
- questionary.Choice("Redis Cache", checked=True),
94
- questionary.Choice("AI Agents (LangChain)", checked=True),
95
- questionary.Choice("Observability (OpenTelemetry)", checked=True),
96
- questionary.Choice("Docker Support", checked=True),
97
- questionary.Choice("CI/CD (GitHub Actions)", checked=True),
98
- ],
99
- style=custom_style,
100
- ).ask()
89
+ feature_choices = [
90
+ ("Database (PostgreSQL)", True),
91
+ ("Redis Cache", True),
92
+ ("AI Agents (LangChain)", True),
93
+ ("Observability (OpenTelemetry)", True),
94
+ ("Docker Support", True),
95
+ ("CI/CD (GitHub Actions)", True),
96
+ ]
101
97
 
102
- features = [a for a in (answers or [])]
98
+ selected = set()
99
+ for i, (_, default) in enumerate(feature_choices):
100
+ if default:
101
+ selected.add(i)
102
+
103
+ while True:
104
+ for i, (name, _) in enumerate(feature_choices):
105
+ marker = "[bold green]✓[/bold green]" if i in selected else "[dim]○[/dim]"
106
+ console.print(f" {marker} {name}")
107
+
108
+ console.print()
109
+ try:
110
+ choice = input("Toggle (1-6) or Enter to continue: ").strip()
111
+ if not choice:
112
+ break
113
+ idx = int(choice) - 1
114
+ if 0 <= idx < len(feature_choices):
115
+ if idx in selected:
116
+ selected.remove(idx)
117
+ else:
118
+ selected.add(idx)
119
+ except (ValueError, KeyboardInterrupt):
120
+ break
121
+
122
+ features = [feature_choices[i][0] for i in selected]
103
123
 
104
124
  console.print()
105
125
  print_step(1, 4, f"Creating project structure in {project_path}")
File without changes
File without changes
File without changes
File without changes