ielts-anything 0.0.0-stage → 0.0.1
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 +103 -2
- package/dist/cli.js +4643 -0
- package/dist/web/assets/index-BYq_Ix11.css +2 -0
- package/dist/web/assets/index-Bek-Zyqe.js +75 -0
- package/dist/web/branding/emblem-ielts-four-skills.svg +13 -0
- package/dist/web/index.html +28 -0
- package/package.json +60 -4
- package/skills/ielts-core/SKILL.md +33 -0
- package/skills/listening-item-writer/SKILL.md +40 -0
- package/skills/listening-script-writer/SKILL.md +62 -0
- package/skills/reading-item-writer/SKILL.md +63 -0
- package/skills/reading-key-auditor/SKILL.md +25 -0
- package/skills/reading-passage-writer/SKILL.md +53 -0
- package/skills/speaking-assessor/SKILL.md +102 -0
- package/skills/speaking-test-writer/SKILL.md +48 -0
- package/skills/writing-assessor/SKILL.md +157 -0
- package/skills/writing-task-writer/SKILL.md +100 -0
- package/skills/writing-task-writer/references/map-riverside.png +0 -0
- package/skills/writing-task-writer/references/map-village.png +0 -0
- package/skills/writing-task-writer/references/process-biofuel.png +0 -0
- package/skills/writing-task-writer/references/process-dragonfly.png +0 -0
package/LICENSE
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Nguyễn Thuận Phát
|
|
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
CHANGED
|
@@ -1,3 +1,104 @@
|
|
|
1
|
-
|
|
1
|
+
<p align="center">
|
|
2
|
+
<img src="apps/web/public/branding/emblem-ielts-four-skills.svg" alt="" width="80" />
|
|
3
|
+
</p>
|
|
2
4
|
|
|
3
|
-
|
|
5
|
+
<h1 align="center">IELTS Anything</h1>
|
|
6
|
+
|
|
7
|
+
<p align="center"><strong>ielts prep, minus the soil erosion </strong></p>
|
|
8
|
+
|
|
9
|
+
be so fr, nobody locks in for a 900-word passage on soil erosion 🥀 and the listening where a guy spends four minutes getting a library card? we're cooked 😭
|
|
10
|
+
|
|
11
|
+
IELTS Anything writes the test about stuff you'd doomscroll anyway: football, K-pop, F1, whatever AI drama dropped this week. it's a real Cambridge-format paper, same question types, same timing, same FALSE vs NOT GIVEN spiral. the topic just isn't mid anymore ✌️
|
|
12
|
+
|
|
13
|
+
## Quickstart ⚡
|
|
14
|
+
|
|
15
|
+
```bash
|
|
16
|
+
npx ielts-anything
|
|
17
|
+
```
|
|
18
|
+
|
|
19
|
+
It opens in your browser. Type *"a Listening test about my fave football club"*, go touch grass for a sec 🌱
|
|
20
|
+
|
|
21
|
+
## What's free 💸
|
|
22
|
+
|
|
23
|
+
| | What you need |
|
|
24
|
+
|---|---|
|
|
25
|
+
| **Reading** and **Writing** | A free ChatGPT account. That's it, start today 🆓 |
|
|
26
|
+
| **Listening** | Free too, with voices that run on your laptop. Plug in an OpenAI API key and the audio goes from "fine" to actually good 🎧 |
|
|
27
|
+
| **Speaking** | ChatGPT Plus or above. The live voice examiner needs it 🎙️ |
|
|
28
|
+
|
|
29
|
+
no Plus and no API key? brokie behaviour fr 😭 Reading, Writing and Listening still work though, so no excuses.
|
|
30
|
+
|
|
31
|
+
## What it does 👀
|
|
32
|
+
|
|
33
|
+
**Ask for literally anything.** Pick a topic and a skill. Full test or a quick drill, your call.
|
|
34
|
+
|
|
35
|
+
<img src="docs/screenshots/home.png" alt="Home: what do you want to practise?" />
|
|
36
|
+
|
|
37
|
+
**Reading 📖** Three passages, 40 questions. A second AI takes every test blind first and snitches on any dodgy question before you ever see it. The review shows exactly where each answer was hiding 🔍
|
|
38
|
+
|
|
39
|
+
<img src="docs/screenshots/reading-review.png" alt="Reading review with the evidence highlighted" />
|
|
40
|
+
|
|
41
|
+
**Listening 🎧** Four fully voiced parts with a narrator, forms and maps. Exam mode plays once, zero mercy 💀 Practice mode lets you rewind as many times as your ego can handle.
|
|
42
|
+
|
|
43
|
+
<img src="docs/screenshots/listening-map.png" alt="Listening map labelling" />
|
|
44
|
+
|
|
45
|
+
**Listening review 🔁** Tap a question and hear the exact second the answer flew past you. Painful. Educational. Mostly painful 😭
|
|
46
|
+
|
|
47
|
+
<img src="docs/screenshots/listening-review.png" alt="Listening review with transcript" />
|
|
48
|
+
|
|
49
|
+
**Writing ✍️** Charts, maps and process diagrams for Task 1. Essay questions you actually have takes on for Task 2.
|
|
50
|
+
|
|
51
|
+
<img src="docs/screenshots/writing.png" alt="Writing Task 1 with a process diagram" />
|
|
52
|
+
|
|
53
|
+
**Writing feedback 🧾** Marked against the official band descriptors, one criterion at a time, quoting your own sentences back at you. With love. Mostly 😏
|
|
54
|
+
|
|
55
|
+
<img src="docs/screenshots/writing-results.png" alt="Writing results by criterion" />
|
|
56
|
+
|
|
57
|
+
**Speaking 🎙️** A live interview with a voice examiner who asks about your interests, not your hometown's bus routes for the fifth time 🫠
|
|
58
|
+
|
|
59
|
+
<img src="docs/screenshots/speaking.png" alt="Speaking room" />
|
|
60
|
+
|
|
61
|
+
**Your tutor, in the chat 💬** Scores pop up right there. Ask "why was 7 wrong??" or "another one like that but harder" and it just does it.
|
|
62
|
+
|
|
63
|
+
<img src="docs/screenshots/chat.png" alt="Chat with a score card" />
|
|
64
|
+
|
|
65
|
+
**Progress 📈** Your bands over time, plus which question type is your villain origin story.
|
|
66
|
+
|
|
67
|
+
<img src="docs/screenshots/progress.png" alt="Progress page" />
|
|
68
|
+
|
|
69
|
+
**Pick the voices 🗣️** Free voices that run on your laptop, or OpenAI's if you've got a key.
|
|
70
|
+
|
|
71
|
+
<img src="docs/screenshots/settings-voices.png" alt="Listening voice settings" width="460" />
|
|
72
|
+
|
|
73
|
+
## Install and nerd stuff 🤓
|
|
74
|
+
|
|
75
|
+
**You need:** Node.js 22.13+ and the [Codex CLI](https://developers.openai.com/codex), signed in with your ChatGPT account (`codex login`). A free account covers Reading, Writing and Listening; Speaking needs ChatGPT Plus or above. The app keeps its data in `~/.ielts-anything`, away from your coding history.
|
|
76
|
+
|
|
77
|
+
**Listening voices** (Settings):
|
|
78
|
+
- **Kokoro** (default): free, runs locally, British and American voices. A 90 MB model downloads the first time.
|
|
79
|
+
- **OpenAI**: bring your own API key for `gpt-4o-mini-tts`. Smoother voices, plus Australian and New Zealand accents, about 40 cents per full test 💸
|
|
80
|
+
|
|
81
|
+
**How it works:** Codex writes each test following the rulebooks in [`skills/`](skills), then publishes it through app tools that keep sending it back until it matches the Cambridge 12–21 format. [`packages/spec`](packages/spec) holds the schemas, checks and marking. Answers and scripts stay hidden on the server until you submit. No peeking 🙅
|
|
82
|
+
|
|
83
|
+
```
|
|
84
|
+
apps/server Codex bridge, app tools, marking, Listening audio
|
|
85
|
+
apps/web Chat, test screens, results, progress, settings
|
|
86
|
+
packages/spec Schemas, validators, marking (npm test)
|
|
87
|
+
skills The tutor's rulebooks and Writing reference drawings
|
|
88
|
+
research Format research and sources
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
**Options:** `npx ielts-anything --port 9000 --no-open`. Environment overrides: `IELTS_HOME`, `IELTS_MODEL`, `IELTS_EFFORT`, `IELTS_VOICE`, `IELTS_EXAMINER_VOICE`, `PORT`.
|
|
92
|
+
|
|
93
|
+
**From source:**
|
|
94
|
+
|
|
95
|
+
```bash
|
|
96
|
+
git clone https://github.com/RyanNg1403/ielts-anything.git
|
|
97
|
+
cd ielts-anything && npm install && npm run dev # http://127.0.0.1:5173
|
|
98
|
+
```
|
|
99
|
+
|
|
100
|
+
`npm test`, `npm run typecheck`, `npm run build` (the npm package), and `npx tsx apps/server/scripts/render-listening.ts` to hear the voices.
|
|
101
|
+
|
|
102
|
+
**Releasing:** bump `version` in `package.json` and `CHANGELOG.md`, then push a matching tag (`git tag v0.0.2 && git push origin v0.0.2`). GitHub Actions tests, publishes to npm and creates the release.
|
|
103
|
+
|
|
104
|
+
**The serious bit (sorry) 🧐** This is Cambridge-format practice, not official tests, and it isn't affiliated with IELTS, the British Council, IDP or Cambridge. The repo contains only counts, rules and paraphrases from studying Cambridge IELTS 12–21, never the books, passages, scripts or audio. Band scores are estimates: great for practice, not for your visa officer. MIT licence.
|