You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Free & Open Source β github.com/dojocodinglabs/code-sensei
65
65
```
66
66
67
-
3b. Build the **Locked Skills** section by reading `data/concept-tree.json`:
68
-
69
-
- Iterate over every concept in every category of `concept-tree.json`.
70
-
- A concept is **locked** if it has at least one entry in its `prerequisites` array AND not all of those prerequisites appear in the user's `concepts_mastered` list.
71
-
- A concept is **ready to learn** when ALL prerequisites are in `concepts_mastered` but the concept itself is not yet mastered (it may or may not be in `concepts_seen`).
72
-
- For each locked concept, check each prerequisite ID against `concepts_mastered`:
73
-
- Mastered prerequisite β mark with β
74
-
- Unmastered prerequisite β mark with β
75
-
- Sort the locked concepts so that **"Ready to learn"** concepts (all prerequisites β ) appear first, followed by concepts that still have unmet prerequisites (at least one β), ordered by fewest unmet prerequisites first.
76
-
- Skip concepts whose prerequisites array is empty β those are not locked, they are always available.
77
-
- Skip concepts the user has already mastered.
78
-
- Format each locked concept as one line:
79
-
80
-
```
81
-
π [concept-id] β needs: [prereq-id] [β or β], [prereq-id] [β or β]
82
-
```
83
-
84
-
Append ` (Ready to learn!)` at the end of the line when all prerequisites are β .
π effects β needs: state β, async-await β
94
-
```
95
-
96
-
If there are no locked concepts (the user has mastered or seen everything), omit this section entirely.
67
+
3b. Build the **Next Skills** section by reading `data/concept-tree.json`:
68
+
69
+
- Iterate over every concept in every category of `concept-tree.json`.
70
+
- Include concepts that have at least one prerequisite AND are not yet in `concepts_mastered`.
71
+
- A concept is **ready to learn** when ALL prerequisites are in `concepts_mastered` but the concept itself is not yet mastered (it may or may not be in `concepts_seen`).
72
+
- A concept is **still locked** when at least one prerequisite is missing from `concepts_mastered`.
73
+
- For each included concept, check each prerequisite ID against `concepts_mastered`:
74
+
- Mastered prerequisite β mark with β
75
+
- Unmastered prerequisite β mark with β
76
+
- Sort the concepts so that **"Ready to learn"** concepts (all prerequisites β ) appear first, followed by concepts that still have unmet prerequisites (at least one β), ordered by fewest unmet prerequisites first.
77
+
- Skip concepts whose prerequisites array is empty β those are always available and do not belong in this section.
78
+
- Skip concepts the user has already mastered.
79
+
- Format each concept as one line:
80
+
81
+
```
82
+
[π’ or π] [concept-id] β needs: [prereq-id] [β or β], [prereq-id] [β or β]
83
+
```
84
+
85
+
Use `π’` and append ` (Ready to learn!)` when all prerequisites are β . Use `π` when at least one prerequisite is still missing.
86
+
87
+
Example output:
88
+
89
+
```
90
+
Next Skills π―
91
+
ββββββββββββββ
92
+
π’ state β needs: react-components β (Ready to learn!)
0 commit comments