loki-mode 7.28.1 → 7.29.0

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.
package/mcp/__init__.py CHANGED
@@ -57,4 +57,4 @@ try:
57
57
  except ImportError:
58
58
  __all__ = ['mcp']
59
59
 
60
- __version__ = '7.28.1'
60
+ __version__ = '7.29.0'
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "loki-mode",
3
3
  "mcpName": "io.github.asklokesh/loki-mode",
4
- "version": "7.28.1",
4
+ "version": "7.29.0",
5
5
  "description": "Loki Mode by Autonomi. Autonomous spec-to-product system: takes a PRD, GitHub issue, OpenAPI/JSON/YAML, or one-line brief to a deployed app via the RARV-C closure loop with 11 quality gates. Provider-agnostic (Claude Code, OpenAI Codex, Cline, Aider).",
6
6
  "keywords": [
7
7
  "agent",
@@ -1,148 +1,17 @@
1
- # PRD: Simple Todo App
1
+ # Simple Todo App
2
2
 
3
- ## Overview
4
- A minimal todo application for testing Loki Mode with a simple, well-defined scope. A single-page app called "Todos" with a React frontend, Express API, and SQLite persistence.
3
+ A tiny single-page todo app built with plain HTML, CSS, and vanilla
4
+ JavaScript in one folder. Todos are saved in the browser via localStorage so
5
+ they survive a page refresh. There is no server and no build step: opening
6
+ index.html in a browser runs the whole app.
5
7
 
6
- ## Target Users
7
- - Individual users who want a simple way to track tasks
8
- - Developers testing Loki Mode's core generation pipeline
8
+ ## What it does
9
9
 
10
- ## Features
10
+ - Add a todo by typing a title and pressing Enter.
11
+ - List every todo with a small checkbox beside it.
12
+ - Toggle a todo done or not done by clicking its checkbox.
13
+ - Remove a todo with a delete button next to it.
14
+ - Show a friendly message when the list is empty.
11
15
 
12
- ### MVP Features
13
- 1. **Add Todo** - Users can add a new todo item with a title
14
- 2. **View Todos** - Display list of all todos with completion status
15
- 3. **Complete Todo** - Mark a todo as done (toggle)
16
- 4. **Delete Todo** - Remove a todo from the list with confirmation
17
-
18
- ### User Flow
19
- 1. User opens app -> sees todo list (or empty state if none)
20
- 2. Types a title in the input field -> presses Enter or clicks Add
21
- 3. New todo appears at the top of the list, input clears
22
- 4. Clicks checkbox to toggle complete -> visual strikethrough
23
- 5. Clicks delete icon -> confirmation prompt -> todo removed
24
- 6. Refreshes page -> all state persists from database
25
-
26
- ## Tech Stack
27
-
28
- ### Frontend
29
- - React 18 with TypeScript
30
- - Vite for bundling
31
- - TailwindCSS for styling
32
-
33
- ### Backend
34
- - Node.js 18+
35
- - Express.js
36
- - SQLite via better-sqlite3
37
- - zod for input validation
38
-
39
- ### Structure
40
- ```
41
- /
42
- ├── frontend/
43
- │ ├── src/
44
- │ │ ├── App.tsx # Main app component
45
- │ │ ├── components/
46
- │ │ │ ├── TodoList.tsx # List of todo items
47
- │ │ │ ├── TodoItem.tsx # Single todo with checkbox/delete
48
- │ │ │ ├── AddTodo.tsx # Input form for new todos
49
- │ │ │ └── EmptyState.tsx # Shown when no todos exist
50
- │ │ ├── hooks/
51
- │ │ │ └── useTodos.ts # API fetch/mutate hook
52
- │ │ ├── types/
53
- │ │ │ └── index.ts # Todo type definition
54
- │ │ └── main.tsx
55
- │ ├── package.json
56
- │ └── vite.config.ts
57
- ├── backend/
58
- │ ├── src/
59
- │ │ ├── index.ts # Express server setup
60
- │ │ ├── routes/
61
- │ │ │ └── todos.ts # CRUD route handlers
62
- │ │ └── db/
63
- │ │ └── index.ts # SQLite connection + init
64
- │ ├── package.json
65
- │ └── tsconfig.json
66
- ├── tests/
67
- │ ├── todos.test.ts # API endpoint tests
68
- │ └── components/
69
- │ └── TodoItem.test.tsx # Component tests
70
- └── README.md
71
- ```
72
-
73
- ## Database Schema
74
-
75
- ```sql
76
- CREATE TABLE todos (
77
- id INTEGER PRIMARY KEY AUTOINCREMENT,
78
- title TEXT NOT NULL,
79
- completed INTEGER DEFAULT 0, -- 0 = false, 1 = true
80
- created_at DATETIME DEFAULT CURRENT_TIMESTAMP
81
- );
82
- ```
83
-
84
- ## API Endpoints
85
-
86
- ### Todos
87
- - `GET /api/todos` - List all todos (ordered by created_at DESC)
88
- - `POST /api/todos` - Create todo (body: `{ title }`, returns created todo)
89
- - `PATCH /api/todos/:id` - Toggle completion (body: `{ completed }`)
90
- - `DELETE /api/todos/:id` - Delete todo (returns 204)
91
-
92
- ### Health
93
- - `GET /health` - Returns `{ status: "ok" }`
94
-
95
- ## Acceptance Criteria
96
-
97
- ### Add Todo
98
- - [ ] Input field for todo title
99
- - [ ] Submit on Enter key or button click
100
- - [ ] New todo appears in list
101
- - [ ] Input clears after submit
102
- - [ ] Empty title is rejected (frontend + backend validation)
103
-
104
- ### View Todos
105
- - [ ] Shows all todos in a list
106
- - [ ] Shows completion status (checkbox)
107
- - [ ] Empty state message when no todos exist
108
-
109
- ### Complete Todo
110
- - [ ] Checkbox toggles complete/incomplete
111
- - [ ] Visual strikethrough for completed items
112
- - [ ] Persists after page refresh
113
-
114
- ### Delete Todo
115
- - [ ] Delete button on each todo
116
- - [ ] Confirmation before delete
117
- - [ ] Removes from list and database
118
-
119
- ## Requirements
120
- - TypeScript throughout
121
- - Input validation on both frontend and backend
122
- - Proper HTTP status codes (201 for create, 204 for delete, 400 for validation errors)
123
- - Loading states during API calls
124
- - Responsive design (usable on mobile)
125
-
126
- ## Testing
127
- - API tests: All 4 CRUD endpoints with valid and invalid input (Vitest + supertest)
128
- - Component tests: TodoItem renders correctly, AddTodo form submission works
129
- - Minimum 6 test cases covering happy path and error cases
130
-
131
- ## Out of Scope
132
- - User authentication
133
- - Due dates
134
- - Categories/tags
135
- - Mobile app
136
- - Cloud deployment
137
-
138
- ## Success Criteria
139
- - All 4 CRUD features functional end-to-end
140
- - All tests pass
141
- - No console errors
142
- - Empty state displays correctly
143
- - Data persists across page refresh
144
- - Input validation rejects empty titles
145
-
146
- ---
147
-
148
- **Purpose:** This PRD is intentionally simple to allow quick testing of Loki Mode's core functionality without waiting for complex builds or deployments. Expect ~15-25 minutes for full execution.
16
+ Keep the whole thing minimal and readable. The goal is a quick end-to-end
17
+ build that finishes fast, not a production system.