v1.0 roadmap: stable personal FINKI course assistant
I maintainer di solito rispondono entro 1 giorno
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 28/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- javascript, nodejs
- Ambito
- developer-experience, release
Direzione di ricerca
Start with docs/ROADMAP.md and choose one focused child issue, such as #51 for contribution instructions or #45 for synthetic fixtures; follow that issue’s acceptance criteria. This coordination issue is complete when all required v1 task criteria and release gates are verified, while optional #36 may remain open.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Goal
Track all remaining pre-v1 implementation and release gates from docs/ROADMAP.md. This is a coordination issue; choose one focused child task rather than implementing the roadmap in one PR.
Verified baseline
Merged: CAS/login diagnostics, semester filters (#8), section discovery (#12), Moodle HTML (#16) and text-PDF reading (#18), saved poll choices (#20), private attendance preferences (#22), group-homework/term linking (#24/PR #25), assignment descriptions/dates (#26/PR #27). Package version is still 0.1.0; this is not a tagged v1 release.
v1 promise
Connect a supported local MCP client; discover/read supported course content; search accessible course text/PDFs with citations; inspect deadlines; ask about weekly labs and view a read-only calendar. Results expose source, scope, freshness and uncertainty. Moodle stays read-only; only explicit local preference writes are permitted. Retrieval requires no extra model API key.
Work breakdown
Scheduling and coursework
- #29 — Read supported Moodle announcement forums with dates and citations
- #30 — Store explicit private lab-group and term preferences
- #31 — Extract source-backed lab timetable entries with effective dates (depends on #30)
- #32 — Expand bounded lab recurrence and alternating teaching weeks (depends on #31)
- #33 — Resolve lab cancellations, moved sessions and conflicting evidence (depends on #29, #32)
- #34 — Provide cross-course weekly lab answers with scheduled/none/unknown states (depends on #30, #32, #33)
- #35 — Add a read-only weekly and monthly lab calendar view (depends on #34)
- #42 — Read supported quiz availability and deadline metadata without question content
- #43 — Aggregate upcoming coursework deadlines separately from lab presentation slots (depends on #42)
Discovery, retrieval and durable local use
- #37 — Discover Moodle folder contents with bounded read-only traversal
- #38 — Design and implement private local cache isolation and lifecycle
- #39 — Build bounded lexical indexes of supported course text and text PDFs (depends on #38, #37)
- #40 — Add cross-course lexical search with evidence and scope reporting (depends on #39)
- #41 — Refresh changed/deleted sources with resumable bounded jobs (depends on #38, #39)
Quality, contributors and release gates
- #44 — Document and lock stable MCP tool, error and provenance contracts
- #45 — Create a versioned synthetic MK/EN/SQ compatibility corpus
- #46 — Add a reproducible retrieval benchmark with at least 30 queries (depends on #45, #40)
- #47 — Audit request, pagination, response and worker resource limits
- #48 — Perform independent v1 authorization, privacy and untrusted-content review (depends on #38, #41, #44)
- #49 — Validate clean Windows installation and supported MCP client recovery
- #50 — Establish one version source, changelog and reviewed v1 release procedure
- #51 — Make first-time fork and pull-request contribution instructions accurate
Optional increment (not a v1 release blocker)
- #36 — Export reviewed lab occurrences as an ICS file (optional v1 increment) (depends on #35)
How to contribute
Start with #51 (contribution guide) or #45 (synthetic fixtures) for a first contribution. Ready tasks use help wanted; tasks needing earlier contracts use status:blocked. Comment on the chosen issue before starting, agree the approach, fork from master and submit a focused PR. Use synthetic data and offline tests; never share faculty credentials, student rosters or private course materials. No assignee or deadline is implied.
Suggested immediate feature: #29 (read announcement forums). Scheduling follows groups/timetables → recurrence/exceptions → weekly answers → calendar. Retrieval proceeds independently through folders/storage → indexing/search → refresh/benchmark.
Release exit criteria
All 22 required task acceptance criteria verified (optional #36 excluded), complete retrieval/scheduling fixtures, at least 30 benchmark queries with target >=90% answerable top-five recall and valid citations, supported clean Windows/client checks, account isolation and resource bounds tested, required CI passing and independent review recorded. Revalidate final contracts and compatibility after all feature changes. A human explicitly approves exact version/tag and release notes; no publication occurs from issue/milestone closure.
Outside v1
Hosted/multi-user services, other institutions, semantic/vector search, guaranteed OCR, external calendar synchronization, automatic monitoring/reminders, arbitrary crawling, submissions and forum posting. Keep missing/unread evidence unknown; absence of search results is never proof of no lab.
- Lingua principale
- JavaScript
- Stelle
- 0
- Fork
- 0
- Merge medio
- 1h 20m
- PR unite (30g)
- 14
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di mahmutmft/courses-mcp
-
area:docs good first issue help wanted priority:medium type:chore
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
mahmutmft/courses-mcp#51 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
area:backend area:docs help wanted priority:high type:chore
Difficoltà 4/5 3-5 giorni Idoneità per principianti 57/100
mahmutmft/courses-mcp#50 ·
I maintainer di solito rispondono entro 1 giorno
-
area:backend area:docs help wanted priority:medium type:feature
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
mahmutmft/courses-mcp#49 ·
I maintainer di solito rispondono entro 1 giorno
-
area:backend area:docs priority:high status:blocked type:chore
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
mahmutmft/courses-mcp#48 ·
I maintainer di solito rispondono entro 1 giorno
-
area:backend area:docs help wanted priority:medium type:feature
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
mahmutmft/courses-mcp#47 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di mahmutmft/courses-mcp
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 83/100
hypothesis/client#7592 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
fingerprintjs/fingerprintjs#1235 ·
-
Labor 09 - CSS: fájlnevekAperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
I maintainer di solito rispondono entro 1 giorno
-
complexity: trivial documentation help wanted
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
dunia-hub/stellar-402-live#47 ·
I maintainer di solito rispondono entro 1 giorno