Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

add an HTTP API

Aperta
#60 12 commenti 2 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
5/5
Tempo stimato
Più di una settimana
Idoneità per principianti
42/100
Tipo di issue
Funzionalità
Chiarezza
Abbastanza chiara
Stato di attività
Tranquilla
Stack tecnologico
python
Ambito
api, backend

Direzione di ricerca

Inizia tracciando l’endpoint /explain esistente e il modo in cui analizza i comandi e produce le corrispondenze della guida. Definisci la risposta di GET /api/explain?cmd=... usando i campi proposti help, cmd e matches, incluso il testo della guida duplicato e le modifiche ai comandi come la gestione di Unicode. Il lavoro è completato quando un endpoint HTTP restituisce il JSON documentato per l’esempio echo -n e test di integrazione adeguati coprono il suo comportamento.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

It might be time to add an HTTP API for tools/websites that want to integrate with explainshell (issue #4 is one).

My current thought is to add a GET endpoint at /api/explain with a cmd parameter, similar to /explain. The response could be a JSON that looks something like this:

{
  'help' : ['help text 0', 'help text 1', ..],
  'cmd' : <parsed command>
  'matches' : [{'startindex' : x,
                    'endindex' : y,
                    'helpindex' : <index into help array, or -1 if unknown>], [..]]
}

The rationale for not inlining the help text into matches is that there can be duplicates. The reason for including cmd in the response is that it's possible for explainshell to change it, e.g. due to unicode which is not supported yet.

Example:

GET /api/explain?cmd=echo -n

{
  'help' : ['display a line of text',
             '-n     do not output the trailing newline'],
  'cmd' : 'echo -n'
  'matches' : [{'startindex' : 0, 'endindex' : 4, 'helpindex' : 0},
                   {'startindex' : 5, 'endindex' : 7, 'helpindex' : 1}]
}
Lingua principale
Python
Stelle
14.2k
Fork
851
Metriche di merge delle PR
Nessuna PR unita negli ultimi 30g

Preparare l'ambiente

Non abbiamo ancora controllato i file di configurazione di questo progetto. Parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di idank/explainshell

Tutte le issue di idank/explainshell

Issue simili

Altre issue su Python

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.