Annukriti 0.1.1__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.
- annukriti-0.1.1/.gitignore +10 -0
- annukriti-0.1.1/.python-version +1 -0
- annukriti-0.1.1/PKG-INFO +247 -0
- annukriti-0.1.1/README.md +230 -0
- annukriti-0.1.1/generated_projects/project1/backend/main.py +100 -0
- annukriti-0.1.1/main.py +6 -0
- annukriti-0.1.1/pyproject.toml +34 -0
- annukriti-0.1.1/src/spark/__init__.py +0 -0
- annukriti-0.1.1/src/spark/cli.py +24 -0
- annukriti-0.1.1/src/spark/config.py +0 -0
- annukriti-0.1.1/src/spark/create.py +380 -0
- annukriti-0.1.1/src/spark/error.py +1290 -0
- annukriti-0.1.1/src/spark/ok.py +263 -0
- annukriti-0.1.1/uv.lock +1983 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
3.10
|
annukriti-0.1.1/PKG-INFO
ADDED
|
@@ -0,0 +1,247 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: Annukriti
|
|
3
|
+
Version: 0.1.1
|
|
4
|
+
Summary: AI Software Engineer CLI
|
|
5
|
+
Requires-Python: >=3.10
|
|
6
|
+
Requires-Dist: dotenv>=0.9.9
|
|
7
|
+
Requires-Dist: fastapi>=0.139.0
|
|
8
|
+
Requires-Dist: jinja2>=3.1.6
|
|
9
|
+
Requires-Dist: langchain-google-genai>=4.2.7
|
|
10
|
+
Requires-Dist: langchain-groq>=1.1.3
|
|
11
|
+
Requires-Dist: langchain>=1.3.11
|
|
12
|
+
Requires-Dist: langgraph>=1.2.8
|
|
13
|
+
Requires-Dist: rich>=15.0.0
|
|
14
|
+
Requires-Dist: typer>=0.26.8
|
|
15
|
+
Requires-Dist: uvicorn>=0.51.0
|
|
16
|
+
Description-Content-Type: text/markdown
|
|
17
|
+
|
|
18
|
+
# ⚡ Spark AI
|
|
19
|
+
|
|
20
|
+
**Spark AI** is an AI-powered Software Engineering CLI that helps developers create, debug, explain, and improve code directly from the terminal.
|
|
21
|
+
|
|
22
|
+
> Build applications using natural language, debug projects, understand code, and automate development workflows with AI.
|
|
23
|
+
|
|
24
|
+
---
|
|
25
|
+
|
|
26
|
+
## 🚀 Features
|
|
27
|
+
|
|
28
|
+
- 🛠️ AI Project Generator
|
|
29
|
+
- 🐞 AI Debugger
|
|
30
|
+
- 📖 Code Explainer
|
|
31
|
+
- 💬 AI Chat Assistant
|
|
32
|
+
- 📂 Project Scanning
|
|
33
|
+
- 🤖 LangGraph Powered Agents
|
|
34
|
+
- ⚡ Terminal First Experience
|
|
35
|
+
- 🔥 Multi-LLM Support (Groq, Gemini, OpenAI)
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
## Installation
|
|
40
|
+
|
|
41
|
+
### Using pip
|
|
42
|
+
|
|
43
|
+
```bash
|
|
44
|
+
pip install spark-ai
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### Using uv
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
uv tool install spark-ai
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
# Quick Start
|
|
56
|
+
|
|
57
|
+
Generate a new application
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
spark create "Online Shopping Website"
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
Explain a file
|
|
64
|
+
|
|
65
|
+
```bash
|
|
66
|
+
spark explain app.py
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
Debug an entire project
|
|
70
|
+
|
|
71
|
+
```bash
|
|
72
|
+
spark debug
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
Chat with Spark
|
|
76
|
+
|
|
77
|
+
```bash
|
|
78
|
+
spark chat
|
|
79
|
+
```
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
# Example
|
|
84
|
+
|
|
85
|
+
```bash
|
|
86
|
+
spark create "Netflix Clone"
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
Output
|
|
90
|
+
|
|
91
|
+
```
|
|
92
|
+
✔ Planning Architecture...
|
|
93
|
+
✔ Choosing Tech Stack...
|
|
94
|
+
✔ Generating Frontend...
|
|
95
|
+
✔ Generating Backend...
|
|
96
|
+
✔ Creating Folder Structure...
|
|
97
|
+
✔ Writing Files...
|
|
98
|
+
|
|
99
|
+
Project Created Successfully 🎉
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
---
|
|
103
|
+
|
|
104
|
+
# Project Structure
|
|
105
|
+
|
|
106
|
+
```
|
|
107
|
+
spark-ai/
|
|
108
|
+
│
|
|
109
|
+
├── src/
|
|
110
|
+
│ └── spark/
|
|
111
|
+
│ ├── cli.py
|
|
112
|
+
│ ├── agent.py
|
|
113
|
+
│ ├── config.py
|
|
114
|
+
│ │
|
|
115
|
+
│ ├── commands/
|
|
116
|
+
│ │
|
|
117
|
+
│ ├── workflows/
|
|
118
|
+
│ │
|
|
119
|
+
│ ├── tools/
|
|
120
|
+
│ │
|
|
121
|
+
│ ├── models/
|
|
122
|
+
│ │
|
|
123
|
+
│ ├── prompts/
|
|
124
|
+
│ │
|
|
125
|
+
│ └── utils/
|
|
126
|
+
│
|
|
127
|
+
├── tests/
|
|
128
|
+
├── examples/
|
|
129
|
+
├── pyproject.toml
|
|
130
|
+
├── README.md
|
|
131
|
+
└── .env
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
---
|
|
135
|
+
|
|
136
|
+
# Tech Stack
|
|
137
|
+
|
|
138
|
+
- Python
|
|
139
|
+
- Typer
|
|
140
|
+
- LangGraph
|
|
141
|
+
- LangChain
|
|
142
|
+
- Groq
|
|
143
|
+
- Google Gemini
|
|
144
|
+
- Rich
|
|
145
|
+
- uv
|
|
146
|
+
|
|
147
|
+
---
|
|
148
|
+
|
|
149
|
+
# Environment Variables
|
|
150
|
+
|
|
151
|
+
Create a `.env` file in the project root.
|
|
152
|
+
|
|
153
|
+
```env
|
|
154
|
+
GROQ_API_KEY=your_groq_api_key
|
|
155
|
+
|
|
156
|
+
GOOGLE_API_KEY=your_google_api_key
|
|
157
|
+
|
|
158
|
+
OPENAI_API_KEY=your_openai_api_key
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
# Roadmap
|
|
164
|
+
|
|
165
|
+
## Version 0.1
|
|
166
|
+
|
|
167
|
+
- [x] CLI
|
|
168
|
+
- [x] LangGraph Integration
|
|
169
|
+
- [x] Chat Command
|
|
170
|
+
- [x] Create Command
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
## Version 0.2
|
|
175
|
+
|
|
176
|
+
- [ ] AI Debugger
|
|
177
|
+
- [ ] AI Code Reviewer
|
|
178
|
+
- [ ] File Editing Tools
|
|
179
|
+
- [ ] Project Scanner
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
183
|
+
## Version 0.3
|
|
184
|
+
|
|
185
|
+
- [ ] Multi Agent Workflow
|
|
186
|
+
- [ ] React Project Generator
|
|
187
|
+
- [ ] FastAPI Generator
|
|
188
|
+
- [ ] Next.js Support
|
|
189
|
+
|
|
190
|
+
---
|
|
191
|
+
|
|
192
|
+
## Version 1.0
|
|
193
|
+
|
|
194
|
+
- [ ] Autonomous Software Engineer
|
|
195
|
+
- [ ] Complete Project Generation
|
|
196
|
+
- [ ] Automatic Bug Fixing
|
|
197
|
+
- [ ] Git Integration
|
|
198
|
+
- [ ] VS Code Extension
|
|
199
|
+
|
|
200
|
+
---
|
|
201
|
+
|
|
202
|
+
# Contributing
|
|
203
|
+
|
|
204
|
+
Contributions are welcome.
|
|
205
|
+
|
|
206
|
+
1. Fork the repository
|
|
207
|
+
2. Create a new branch
|
|
208
|
+
|
|
209
|
+
```bash
|
|
210
|
+
git checkout -b feature/new-feature
|
|
211
|
+
```
|
|
212
|
+
|
|
213
|
+
3. Commit your changes
|
|
214
|
+
|
|
215
|
+
```bash
|
|
216
|
+
git commit -m "Added new feature"
|
|
217
|
+
```
|
|
218
|
+
|
|
219
|
+
4. Push to GitHub
|
|
220
|
+
|
|
221
|
+
```bash
|
|
222
|
+
git push origin feature/new-feature
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
5. Open a Pull Request
|
|
226
|
+
|
|
227
|
+
---
|
|
228
|
+
|
|
229
|
+
# License
|
|
230
|
+
|
|
231
|
+
MIT License
|
|
232
|
+
|
|
233
|
+
---
|
|
234
|
+
|
|
235
|
+
# Author
|
|
236
|
+
|
|
237
|
+
**Sumit Kumar Bajpai**
|
|
238
|
+
|
|
239
|
+
GitHub: https://github.com/sumit-069
|
|
240
|
+
|
|
241
|
+
---
|
|
242
|
+
|
|
243
|
+
## ⭐ Vision
|
|
244
|
+
|
|
245
|
+
Spark AI aims to become an **AI Software Engineer** that can understand your project, generate applications, debug code, explain complex logic, and automate software development directly from the terminal.
|
|
246
|
+
|
|
247
|
+
Instead of simply answering questions like a chatbot, Spark AI is designed to act as an intelligent development partner capable of planning, writing, editing, and improving codebases.
|
|
@@ -0,0 +1,230 @@
|
|
|
1
|
+
# ⚡ Spark AI
|
|
2
|
+
|
|
3
|
+
**Spark AI** is an AI-powered Software Engineering CLI that helps developers create, debug, explain, and improve code directly from the terminal.
|
|
4
|
+
|
|
5
|
+
> Build applications using natural language, debug projects, understand code, and automate development workflows with AI.
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 🚀 Features
|
|
10
|
+
|
|
11
|
+
- 🛠️ AI Project Generator
|
|
12
|
+
- 🐞 AI Debugger
|
|
13
|
+
- 📖 Code Explainer
|
|
14
|
+
- 💬 AI Chat Assistant
|
|
15
|
+
- 📂 Project Scanning
|
|
16
|
+
- 🤖 LangGraph Powered Agents
|
|
17
|
+
- ⚡ Terminal First Experience
|
|
18
|
+
- 🔥 Multi-LLM Support (Groq, Gemini, OpenAI)
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## Installation
|
|
23
|
+
|
|
24
|
+
### Using pip
|
|
25
|
+
|
|
26
|
+
```bash
|
|
27
|
+
pip install spark-ai
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
### Using uv
|
|
31
|
+
|
|
32
|
+
```bash
|
|
33
|
+
uv tool install spark-ai
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
---
|
|
37
|
+
|
|
38
|
+
# Quick Start
|
|
39
|
+
|
|
40
|
+
Generate a new application
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
spark create "Online Shopping Website"
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
Explain a file
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
spark explain app.py
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
Debug an entire project
|
|
53
|
+
|
|
54
|
+
```bash
|
|
55
|
+
spark debug
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
Chat with Spark
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
spark chat
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
---
|
|
65
|
+
|
|
66
|
+
# Example
|
|
67
|
+
|
|
68
|
+
```bash
|
|
69
|
+
spark create "Netflix Clone"
|
|
70
|
+
```
|
|
71
|
+
|
|
72
|
+
Output
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
✔ Planning Architecture...
|
|
76
|
+
✔ Choosing Tech Stack...
|
|
77
|
+
✔ Generating Frontend...
|
|
78
|
+
✔ Generating Backend...
|
|
79
|
+
✔ Creating Folder Structure...
|
|
80
|
+
✔ Writing Files...
|
|
81
|
+
|
|
82
|
+
Project Created Successfully 🎉
|
|
83
|
+
```
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
# Project Structure
|
|
88
|
+
|
|
89
|
+
```
|
|
90
|
+
spark-ai/
|
|
91
|
+
│
|
|
92
|
+
├── src/
|
|
93
|
+
│ └── spark/
|
|
94
|
+
│ ├── cli.py
|
|
95
|
+
│ ├── agent.py
|
|
96
|
+
│ ├── config.py
|
|
97
|
+
│ │
|
|
98
|
+
│ ├── commands/
|
|
99
|
+
│ │
|
|
100
|
+
│ ├── workflows/
|
|
101
|
+
│ │
|
|
102
|
+
│ ├── tools/
|
|
103
|
+
│ │
|
|
104
|
+
│ ├── models/
|
|
105
|
+
│ │
|
|
106
|
+
│ ├── prompts/
|
|
107
|
+
│ │
|
|
108
|
+
│ └── utils/
|
|
109
|
+
│
|
|
110
|
+
├── tests/
|
|
111
|
+
├── examples/
|
|
112
|
+
├── pyproject.toml
|
|
113
|
+
├── README.md
|
|
114
|
+
└── .env
|
|
115
|
+
```
|
|
116
|
+
|
|
117
|
+
---
|
|
118
|
+
|
|
119
|
+
# Tech Stack
|
|
120
|
+
|
|
121
|
+
- Python
|
|
122
|
+
- Typer
|
|
123
|
+
- LangGraph
|
|
124
|
+
- LangChain
|
|
125
|
+
- Groq
|
|
126
|
+
- Google Gemini
|
|
127
|
+
- Rich
|
|
128
|
+
- uv
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
# Environment Variables
|
|
133
|
+
|
|
134
|
+
Create a `.env` file in the project root.
|
|
135
|
+
|
|
136
|
+
```env
|
|
137
|
+
GROQ_API_KEY=your_groq_api_key
|
|
138
|
+
|
|
139
|
+
GOOGLE_API_KEY=your_google_api_key
|
|
140
|
+
|
|
141
|
+
OPENAI_API_KEY=your_openai_api_key
|
|
142
|
+
```
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
# Roadmap
|
|
147
|
+
|
|
148
|
+
## Version 0.1
|
|
149
|
+
|
|
150
|
+
- [x] CLI
|
|
151
|
+
- [x] LangGraph Integration
|
|
152
|
+
- [x] Chat Command
|
|
153
|
+
- [x] Create Command
|
|
154
|
+
|
|
155
|
+
---
|
|
156
|
+
|
|
157
|
+
## Version 0.2
|
|
158
|
+
|
|
159
|
+
- [ ] AI Debugger
|
|
160
|
+
- [ ] AI Code Reviewer
|
|
161
|
+
- [ ] File Editing Tools
|
|
162
|
+
- [ ] Project Scanner
|
|
163
|
+
|
|
164
|
+
---
|
|
165
|
+
|
|
166
|
+
## Version 0.3
|
|
167
|
+
|
|
168
|
+
- [ ] Multi Agent Workflow
|
|
169
|
+
- [ ] React Project Generator
|
|
170
|
+
- [ ] FastAPI Generator
|
|
171
|
+
- [ ] Next.js Support
|
|
172
|
+
|
|
173
|
+
---
|
|
174
|
+
|
|
175
|
+
## Version 1.0
|
|
176
|
+
|
|
177
|
+
- [ ] Autonomous Software Engineer
|
|
178
|
+
- [ ] Complete Project Generation
|
|
179
|
+
- [ ] Automatic Bug Fixing
|
|
180
|
+
- [ ] Git Integration
|
|
181
|
+
- [ ] VS Code Extension
|
|
182
|
+
|
|
183
|
+
---
|
|
184
|
+
|
|
185
|
+
# Contributing
|
|
186
|
+
|
|
187
|
+
Contributions are welcome.
|
|
188
|
+
|
|
189
|
+
1. Fork the repository
|
|
190
|
+
2. Create a new branch
|
|
191
|
+
|
|
192
|
+
```bash
|
|
193
|
+
git checkout -b feature/new-feature
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
3. Commit your changes
|
|
197
|
+
|
|
198
|
+
```bash
|
|
199
|
+
git commit -m "Added new feature"
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
4. Push to GitHub
|
|
203
|
+
|
|
204
|
+
```bash
|
|
205
|
+
git push origin feature/new-feature
|
|
206
|
+
```
|
|
207
|
+
|
|
208
|
+
5. Open a Pull Request
|
|
209
|
+
|
|
210
|
+
---
|
|
211
|
+
|
|
212
|
+
# License
|
|
213
|
+
|
|
214
|
+
MIT License
|
|
215
|
+
|
|
216
|
+
---
|
|
217
|
+
|
|
218
|
+
# Author
|
|
219
|
+
|
|
220
|
+
**Sumit Kumar Bajpai**
|
|
221
|
+
|
|
222
|
+
GitHub: https://github.com/sumit-069
|
|
223
|
+
|
|
224
|
+
---
|
|
225
|
+
|
|
226
|
+
## ⭐ Vision
|
|
227
|
+
|
|
228
|
+
Spark AI aims to become an **AI Software Engineer** that can understand your project, generate applications, debug code, explain complex logic, and automate software development directly from the terminal.
|
|
229
|
+
|
|
230
|
+
Instead of simply answering questions like a chatbot, Spark AI is designed to act as an intelligent development partner capable of planning, writing, editing, and improving codebases.
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
from fastapi import FastAPI
|
|
2
|
+
from fastapi.responses import HTMLResponse
|
|
3
|
+
|
|
4
|
+
app = FastAPI()
|
|
5
|
+
|
|
6
|
+
@app.get("/", response_class=HTMLResponse)
|
|
7
|
+
async def root():
|
|
8
|
+
html_content = """<!DOCTYPE html>
|
|
9
|
+
<html lang="en">
|
|
10
|
+
<head>
|
|
11
|
+
<meta charset="UTF-8">
|
|
12
|
+
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
|
13
|
+
<title>FastAPI Blog</title>
|
|
14
|
+
<style>
|
|
15
|
+
*{margin:0;padding:0;box-sizing:border-box;}
|
|
16
|
+
body{font-family:Arial,Helvetica,sans-serif;line-height:1.6;color:#333;background:#f9f9f9;}
|
|
17
|
+
nav{background:#333;color:#fff;padding:1rem;position:sticky;top:0;z-index:1000;}
|
|
18
|
+
nav ul{display:flex;list-style:none;justify-content:center;}
|
|
19
|
+
nav li{margin:0 1rem;}
|
|
20
|
+
nav a{color:#fff;text-decoration:none;font-weight:bold;transition:color .3s;}
|
|
21
|
+
nav a:hover{color:#ff9800;}
|
|
22
|
+
section{padding:4rem 2rem;max-width:1200px;margin:auto;}
|
|
23
|
+
.hero{background:url('https://picsum.photos/seed/picsum/1200/600') center/cover no-repeat;color:#fff;text-align:center;display:flex;flex-direction:column;justify-content:center;height:80vh;animation:fadeIn 2s ease;}
|
|
24
|
+
.hero h1{font-size:3rem;margin-bottom:.5rem;animation:slideUp 1s ease forwards;}
|
|
25
|
+
.hero p{font-size:1.2rem;animation:slideUp 1.5s ease forwards;}
|
|
26
|
+
@keyframes fadeIn{from{opacity:0;}to{opacity:1;}}
|
|
27
|
+
@keyframes slideUp{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}
|
|
28
|
+
.about,.features,.contact{background:#fff;margin-top:2rem;border-radius:8px;box-shadow:0 2px 5px rgba(0,0,0,0.1);}
|
|
29
|
+
h2{margin-bottom:1rem;color:#333;}
|
|
30
|
+
.about p,.features ul,.contact form{margin-top:1rem;}
|
|
31
|
+
.features ul{list-style:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;}
|
|
32
|
+
.features li{background:#f0f0f0;padding:1rem;border-radius:4px;transition:transform .3s;}
|
|
33
|
+
.features li:hover{transform:scale(1.05);background:#e0e0e0;}
|
|
34
|
+
.contact form{display:flex;flex-direction:column;}
|
|
35
|
+
.contact input,.contact textarea{padding:0.8rem;margin-bottom:1rem;border:1px solid #ccc;border-radius:4px;}
|
|
36
|
+
.contact button{padding:0.8rem;background:#333;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background .3s;}
|
|
37
|
+
.contact button:hover{background:#555;}
|
|
38
|
+
footer{background:#333;color:#fff;text-align:center;padding:1rem;margin-top:2rem;}
|
|
39
|
+
@media (max-width:768px){
|
|
40
|
+
nav ul{flex-direction:column;}
|
|
41
|
+
nav li{margin:0.5rem 0;}
|
|
42
|
+
.hero h1{font-size:2rem;}
|
|
43
|
+
}
|
|
44
|
+
</style>
|
|
45
|
+
</head>
|
|
46
|
+
<body>
|
|
47
|
+
<nav>
|
|
48
|
+
<ul>
|
|
49
|
+
<li><a href="#hero">Home</a></li>
|
|
50
|
+
<li><a href="#about">About</a></li>
|
|
51
|
+
<li><a href="#features">Features</a></li>
|
|
52
|
+
<li><a href="#contact">Contact</a></li>
|
|
53
|
+
</ul>
|
|
54
|
+
</nav>
|
|
55
|
+
<section id="hero" class="hero">
|
|
56
|
+
<h1>Welcome to FastAPI Blog</h1>
|
|
57
|
+
<p>Modern, fast, and responsive blog platform built with FastAPI.</p>
|
|
58
|
+
</section>
|
|
59
|
+
<section id="about" class="about">
|
|
60
|
+
<h2>About</h2>
|
|
61
|
+
<p>This blog showcases the power of FastAPI combined with a sleek frontend built directly in the backend.</p>
|
|
62
|
+
</section>
|
|
63
|
+
<section id="features" class="features">
|
|
64
|
+
<h2>Features</h2>
|
|
65
|
+
<ul>
|
|
66
|
+
<li>Fast performance</li>
|
|
67
|
+
<li>Easy to use</li>
|
|
68
|
+
<li>Responsive design</li>
|
|
69
|
+
<li>SEO friendly</li>
|
|
70
|
+
<li>Secure</li>
|
|
71
|
+
<li>Scalable</li>
|
|
72
|
+
</ul>
|
|
73
|
+
</section>
|
|
74
|
+
<section id="contact" class="contact">
|
|
75
|
+
<h2>Contact</h2>
|
|
76
|
+
<form onsubmit="event.preventDefault();alert('Message sent!');">
|
|
77
|
+
<input type="text" placeholder="Your Name" required>
|
|
78
|
+
<input type="email" placeholder="Your Email" required>
|
|
79
|
+
<textarea rows="4" placeholder="Your Message" required></textarea>
|
|
80
|
+
<button type="submit">Send Message</button>
|
|
81
|
+
</form>
|
|
82
|
+
</section>
|
|
83
|
+
<footer>
|
|
84
|
+
<p>© 2026 FastAPI Blog. All rights reserved.</p>
|
|
85
|
+
</footer>
|
|
86
|
+
<script>
|
|
87
|
+
document.querySelectorAll('a[href^=\"#\"]').forEach(anchor=>{
|
|
88
|
+
anchor.addEventListener('click',function(e){
|
|
89
|
+
e.preventDefault();
|
|
90
|
+
document.querySelector(this.getAttribute('href')).scrollIntoView({behavior:'smooth'});
|
|
91
|
+
});
|
|
92
|
+
});
|
|
93
|
+
</script>
|
|
94
|
+
</body>
|
|
95
|
+
</html>"""
|
|
96
|
+
return HTMLResponse(content=html_content, status_code=200)
|
|
97
|
+
|
|
98
|
+
@app.get("/health")
|
|
99
|
+
async def health():
|
|
100
|
+
return {"status":"ok"}
|
annukriti-0.1.1/main.py
ADDED
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
[project]
|
|
2
|
+
name = "Annukriti"
|
|
3
|
+
version = "0.1.1"
|
|
4
|
+
description = "AI Software Engineer CLI"
|
|
5
|
+
readme = "README.md"
|
|
6
|
+
requires-python = ">=3.10"
|
|
7
|
+
|
|
8
|
+
dependencies = [
|
|
9
|
+
"dotenv>=0.9.9",
|
|
10
|
+
"fastapi>=0.139.0",
|
|
11
|
+
"jinja2>=3.1.6",
|
|
12
|
+
"langchain>=1.3.11",
|
|
13
|
+
"langchain-google-genai>=4.2.7",
|
|
14
|
+
"langchain-groq>=1.1.3",
|
|
15
|
+
"langgraph>=1.2.8",
|
|
16
|
+
"rich>=15.0.0",
|
|
17
|
+
"typer>=0.26.8",
|
|
18
|
+
"uvicorn>=0.51.0",
|
|
19
|
+
]
|
|
20
|
+
|
|
21
|
+
[project.scripts]
|
|
22
|
+
annukriti = "spark.cli:main"
|
|
23
|
+
|
|
24
|
+
[build-system]
|
|
25
|
+
requires = ["hatchling"]
|
|
26
|
+
build-backend = "hatchling.build"
|
|
27
|
+
[tool.hatch.build.targets.wheel]
|
|
28
|
+
packages = ["src/spark"]
|
|
29
|
+
|
|
30
|
+
[dependency-groups]
|
|
31
|
+
dev = [
|
|
32
|
+
"setuptools>=83.0.0",
|
|
33
|
+
"twine>=6.2.0",
|
|
34
|
+
]
|
|
File without changes
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import typer
|
|
2
|
+
from spark.ok import workdone
|
|
3
|
+
|
|
4
|
+
def run(debug_msg: str):
|
|
5
|
+
print("Started.....")
|
|
6
|
+
|
|
7
|
+
config = {
|
|
8
|
+
"configurable": {
|
|
9
|
+
"thread_id": "thread-1"
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
workdone.invoke(
|
|
14
|
+
{"user_prompt": debug_msg},
|
|
15
|
+
config=config
|
|
16
|
+
)
|
|
17
|
+
|
|
18
|
+
print("Done!")
|
|
19
|
+
|
|
20
|
+
def main():
|
|
21
|
+
typer.run(run)
|
|
22
|
+
|
|
23
|
+
if __name__ == "__main__":
|
|
24
|
+
main()
|
|
File without changes
|