vibe-ideas 1.0.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/LICENSE +21 -0
- package/README.md +275 -0
- package/data/projects.json +3117 -0
- package/dist/cli.js +206 -0
- package/package.json +47 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 evolv3-ai
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
ADDED
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
# vibe-ideas
|
|
2
|
+
|
|
3
|
+
> Random coding project ideas for AI agents and developers. 298 curated ideas, delivered instantly.
|
|
4
|
+
|
|
5
|
+
```bash
|
|
6
|
+
npx vibe-ideas random # Get a random project (JSON for agents)
|
|
7
|
+
npx vibe-ideas random --format human # Human-readable output
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
## Install
|
|
11
|
+
|
|
12
|
+
**No install (via npx):**
|
|
13
|
+
```bash
|
|
14
|
+
npx vibe-ideas random
|
|
15
|
+
```
|
|
16
|
+
|
|
17
|
+
**Global install:**
|
|
18
|
+
```bash
|
|
19
|
+
npm install -g vibe-ideas
|
|
20
|
+
vibe random
|
|
21
|
+
```
|
|
22
|
+
|
|
23
|
+
Requires Node.js ≥ 18.
|
|
24
|
+
|
|
25
|
+
## Quick Start
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
# Get any random project
|
|
29
|
+
npx vibe-ideas random
|
|
30
|
+
|
|
31
|
+
# Reproducible result (for testing)
|
|
32
|
+
npx vibe-ideas random --seed 42
|
|
33
|
+
|
|
34
|
+
# Browse as a human
|
|
35
|
+
npx vibe-ideas random --format human
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
## Commands
|
|
39
|
+
|
|
40
|
+
### `vibe random`
|
|
41
|
+
|
|
42
|
+
Return random project idea(s). This is the default command.
|
|
43
|
+
|
|
44
|
+
```bash
|
|
45
|
+
# Single random project (default)
|
|
46
|
+
npx vibe-ideas random
|
|
47
|
+
|
|
48
|
+
# Multiple ideas
|
|
49
|
+
npx vibe-ideas random --count 3
|
|
50
|
+
|
|
51
|
+
# Filtered random
|
|
52
|
+
npx vibe-ideas random --level beginner --category web
|
|
53
|
+
|
|
54
|
+
# Reproducible (same seed = same result)
|
|
55
|
+
npx vibe-ideas random --seed 42
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
**Example output:**
|
|
59
|
+
```bash
|
|
60
|
+
$ npx vibe-ideas random --seed 42
|
|
61
|
+
```
|
|
62
|
+
```json
|
|
63
|
+
{
|
|
64
|
+
"id": "c_mcbdv98cxda9fipfliwq9b4gtxox",
|
|
65
|
+
"title": "Space Invaders using OpenGL",
|
|
66
|
+
"description": "No description available",
|
|
67
|
+
"level": "intermediate",
|
|
68
|
+
"category": "game dev",
|
|
69
|
+
"language": "JavaScript",
|
|
70
|
+
"techStack": [],
|
|
71
|
+
"source": "Xtremilicious/projectlearn-project-based-learning"
|
|
72
|
+
}
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
**Human format:**
|
|
76
|
+
```bash
|
|
77
|
+
$ npx vibe-ideas random --seed 42 --format human
|
|
78
|
+
```
|
|
79
|
+
```
|
|
80
|
+
📦 Space Invaders using OpenGL
|
|
81
|
+
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
82
|
+
Level: intermediate
|
|
83
|
+
Category: game dev
|
|
84
|
+
Language: JavaScript
|
|
85
|
+
Source: Xtremilicious/projectlearn-project-based-learning
|
|
86
|
+
|
|
87
|
+
No description available
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
**Multiple results:**
|
|
91
|
+
```bash
|
|
92
|
+
$ npx vibe-ideas random --count 3 --seed 99
|
|
93
|
+
```
|
|
94
|
+
```json
|
|
95
|
+
[
|
|
96
|
+
{
|
|
97
|
+
"id": "fp_mcbdv9865l23ah7zzih7sp7u7zad0a",
|
|
98
|
+
"title": "Simple Online Store",
|
|
99
|
+
"level": "intermediate",
|
|
100
|
+
"category": "general",
|
|
101
|
+
"language": "JavaScript",
|
|
102
|
+
"techStack": [],
|
|
103
|
+
"source": "florinpop17/app-ideas"
|
|
104
|
+
},
|
|
105
|
+
{
|
|
106
|
+
"id": "c_mcbdv98d4igovdv3pu5zblpopm2sid",
|
|
107
|
+
"title": "Facial Landmark Detection",
|
|
108
|
+
"level": "intermediate",
|
|
109
|
+
"category": "data science",
|
|
110
|
+
"language": "JavaScript",
|
|
111
|
+
"techStack": [],
|
|
112
|
+
"source": "Xtremilicious/projectlearn-project-based-learning"
|
|
113
|
+
},
|
|
114
|
+
{
|
|
115
|
+
"id": "c_mcbdv98ct2cxjmmwwt8awe6b1qp9ib",
|
|
116
|
+
"title": "Flipping UNO Cards using only CSS",
|
|
117
|
+
"level": "intermediate",
|
|
118
|
+
"category": "web",
|
|
119
|
+
"language": "JavaScript",
|
|
120
|
+
"techStack": ["CSS"],
|
|
121
|
+
"source": "Xtremilicious/projectlearn-project-based-learning"
|
|
122
|
+
}
|
|
123
|
+
]
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
### `vibe list`
|
|
129
|
+
|
|
130
|
+
List all projects matching your filters.
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
# All beginner projects
|
|
134
|
+
npx vibe-ideas list --level beginner
|
|
135
|
+
|
|
136
|
+
# First 5 web projects
|
|
137
|
+
npx vibe-ideas list --category web --count 5
|
|
138
|
+
|
|
139
|
+
# All Python projects (human-readable)
|
|
140
|
+
npx vibe-ideas list --language Python --format human
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
### `vibe get <id>`
|
|
146
|
+
|
|
147
|
+
Get a specific project by ID.
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
$ npx vibe-ideas get fp_mcbdv984s6vis732zik4la17lr3isc
|
|
151
|
+
```
|
|
152
|
+
```json
|
|
153
|
+
{
|
|
154
|
+
"id": "fp_mcbdv984s6vis732zik4la17lr3isc",
|
|
155
|
+
"title": "Calculator CLI",
|
|
156
|
+
"description": "Create a basic calculator with addition feature.",
|
|
157
|
+
"level": "intermediate",
|
|
158
|
+
"category": "general",
|
|
159
|
+
"language": "JavaScript",
|
|
160
|
+
"techStack": [],
|
|
161
|
+
"source": "florinpop17/app-ideas"
|
|
162
|
+
}
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
---
|
|
166
|
+
|
|
167
|
+
### `vibe filters`
|
|
168
|
+
|
|
169
|
+
Show all valid filter values. Use this to discover what's available.
|
|
170
|
+
|
|
171
|
+
```bash
|
|
172
|
+
$ npx vibe-ideas filters
|
|
173
|
+
```
|
|
174
|
+
```json
|
|
175
|
+
{
|
|
176
|
+
"level": ["advanced", "beginner", "intermediate"],
|
|
177
|
+
"category": ["data science", "game dev", "general", "mobile", "web"],
|
|
178
|
+
"language": ["C#", "Go", "JavaScript", "PHP", "Python", "Ruby", "Rust", "Swift", "TypeScript"]
|
|
179
|
+
}
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
## Output Schema
|
|
183
|
+
|
|
184
|
+
### JSON (default)
|
|
185
|
+
|
|
186
|
+
```json
|
|
187
|
+
{
|
|
188
|
+
"id": "fp_mcbdv984s6vis732zik4la17lr3isc",
|
|
189
|
+
"title": "Calculator CLI",
|
|
190
|
+
"description": "Create a basic calculator with addition feature.",
|
|
191
|
+
"level": "intermediate",
|
|
192
|
+
"category": "general",
|
|
193
|
+
"language": "JavaScript",
|
|
194
|
+
"techStack": [],
|
|
195
|
+
"source": "florinpop17/app-ideas"
|
|
196
|
+
}
|
|
197
|
+
```
|
|
198
|
+
|
|
199
|
+
### Error Response
|
|
200
|
+
|
|
201
|
+
```json
|
|
202
|
+
{
|
|
203
|
+
"error": "No projects match filters",
|
|
204
|
+
"code": "ERR_NO_MATCH",
|
|
205
|
+
"filters": { "level": "advanced", "category": "mobile" }
|
|
206
|
+
}
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
### Exit Codes
|
|
210
|
+
|
|
211
|
+
| Code | Meaning |
|
|
212
|
+
|------|---------|
|
|
213
|
+
| 0 | Success |
|
|
214
|
+
| 1 | No results match filters |
|
|
215
|
+
| 2 | Invalid input |
|
|
216
|
+
|
|
217
|
+
## AI Agent Integration
|
|
218
|
+
|
|
219
|
+
Built for programmatic use. Pipe-friendly, deterministic, schema-stable.
|
|
220
|
+
|
|
221
|
+
```bash
|
|
222
|
+
# Get a title for your next build
|
|
223
|
+
TITLE=$(npx vibe-ideas random --seed $RANDOM | jq -r .title)
|
|
224
|
+
echo "Building: $TITLE"
|
|
225
|
+
|
|
226
|
+
# Check available languages before filtering
|
|
227
|
+
LANGUAGES=$(npx vibe-ideas filters | jq -r '.language | join(", ")')
|
|
228
|
+
echo "Supported languages: $LANGUAGES"
|
|
229
|
+
|
|
230
|
+
# Filter and validate
|
|
231
|
+
npx vibe-ideas random --level beginner --language Python --format json | jq .
|
|
232
|
+
|
|
233
|
+
# Reproducible builds (same seed = same project for testing)
|
|
234
|
+
npx vibe-ideas random --seed 12345 --format json
|
|
235
|
+
```
|
|
236
|
+
|
|
237
|
+
### Filter Reference
|
|
238
|
+
|
|
239
|
+
| Filter | Valid Values |
|
|
240
|
+
|--------|--------------|
|
|
241
|
+
| `--level` | `beginner`, `intermediate`, `advanced` |
|
|
242
|
+
| `--category` | `data science`, `game dev`, `general`, `mobile`, `web` |
|
|
243
|
+
| `--language` | `C#`, `Go`, `JavaScript`, `PHP`, `Python`, `Ruby`, `Rust`, `Swift`, `TypeScript` |
|
|
244
|
+
|
|
245
|
+
## Flags Reference
|
|
246
|
+
|
|
247
|
+
| Flag | Description | Default |
|
|
248
|
+
|------|-------------|---------|
|
|
249
|
+
| `--level` | Filter by difficulty | — |
|
|
250
|
+
| `--category` | Filter by category | — |
|
|
251
|
+
| `--language` | Filter by language | — |
|
|
252
|
+
| `--format` | Output format: `json`, `human`, `text` | `json` |
|
|
253
|
+
| `--count` | Number of results | `1` (random), `0` (list = all) |
|
|
254
|
+
| `--seed` | Reproducible randomization | — |
|
|
255
|
+
|
|
256
|
+
## Data Attribution
|
|
257
|
+
|
|
258
|
+
298 project ideas curated from the following open-source repositories (all MIT licensed):
|
|
259
|
+
|
|
260
|
+
| Source | Projects | License | Link |
|
|
261
|
+
|--------|----------|---------|------|
|
|
262
|
+
| florinpop17/app-ideas | 88 | MIT | [GitHub](https://github.com/florinpop17/app-ideas) |
|
|
263
|
+
| Xtremilicious/projectlearn-project-based-learning | 202 | MIT | [GitHub](https://github.com/Xtremilicious/projectlearn-project-based-learning) |
|
|
264
|
+
| karan/Projects | 15 | MIT | [GitHub](https://github.com/karan/Projects) |
|
|
265
|
+
| jaypancholi94/spellbook | 1 | MIT | [GitHub](https://github.com/jaypancholi94/spellbook) |
|
|
266
|
+
|
|
267
|
+
Each project in the dataset includes a `source` field attributing it to its original repository.
|
|
268
|
+
|
|
269
|
+
## Contributing
|
|
270
|
+
|
|
271
|
+
PRs welcome for new project ideas or CLI improvements.
|
|
272
|
+
|
|
273
|
+
## License
|
|
274
|
+
|
|
275
|
+
MIT - see [LICENSE](LICENSE) for details.
|