jackwener / jackwener/OpenCLI

Feature Request: Add YApi platform support

Open
#1,012 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
29.5k
Forks
2.9k
Avg merge
15h 36m
Merged PRs (30d)
70

Description

## Summary

[YApi](https://github.com/YMFE/yapi) is a widely-used self-hosted API management platform in China. It would be great if opencli could support it as a new adapter.

## Use Case

YApi provides a comprehensive REST API for querying interface documentation, including:
- Search APIs by name or path
- Get API details (request/response schema, headers, params)
- List projects and categories

Typical commands could look like:

```bash
opencli yapi search # Search APIs by name
opencli yapi get # Get API details
opencli yapi list-projects # List all projects
opencli yapi categories # List categories under a project
```

## Context

- YApi is one of the most popular API management tools in the Chinese developer ecosystem
- Many teams run self-hosted YApi instances (e.g. `https://yapi.example.com`)
- YApi has well-documented [open APIs](https://hellosean1025.github.io/yapi/openapi.html) that are straightforward to integrate
- Authentication is typically via a project-level token

## Notes

- Since YApi is self-hosted, the base URL would need to be configurable (e.g. via env var `OPENCLI_YAPI_BASE_URL` or config)
- Auth token could be configured similarly (e.g. `OPENCLI_YAPI_TOKEN`)

Contributor guide

Open the contributing guide

Research direction

Start with YApi's linked OpenAPI documentation and compare its search, detail, project, and category endpoints with the requested CLI commands. A complete change would provide a configurable YApi base URL and token, then support the four listed operations against self-hosted instances.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
api, cli
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.