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/README.md +30 -19
- package/SKILL.md +8 -2
- package/VERSION +1 -1
- package/autonomy/loki +273 -30
- package/autonomy/provider-offer.sh +249 -0
- package/autonomy/quickstart.sh +584 -0
- package/dashboard/__init__.py +1 -1
- package/docs/INSTALLATION.md +10 -1
- package/docs/alternative-installations.md +1 -1
- package/loki-ts/dist/loki.js +208 -208
- package/mcp/__init__.py +1 -1
- package/package.json +1 -1
- package/templates/simple-todo-app.md +13 -144
package/mcp/__init__.py
CHANGED
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.
|
|
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
|
-
#
|
|
1
|
+
# Simple Todo App
|
|
2
2
|
|
|
3
|
-
|
|
4
|
-
|
|
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
|
-
##
|
|
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
|
-
|
|
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
|
-
|
|
13
|
-
|
|
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.
|