guicedee-openapi
Automatic OpenAPI 3.1 spec generation and serving for GuicedEE with Vert.x 5: scans Jakarta REST resources at startup, serves /openapi.json and /openapi.yaml endpoints, Swagger annotations support, @OpenAPIDefinition configuration, and companion Swagger UI module. Use when generating API documentation, serving OpenAPI specs, or configuring Swagger annotations on REST resources.
Works with
---
name: guicedee-openapi
description: Automatic OpenAPI 3.1 spec generation and serving for GuicedEE with Vert.x 5: scans Jakarta REST resources at startup, serves /openapi.json and /openapi.yaml endpoints, Swagger annotations support, @OpenAPIDefinition configuration, and companion Swagger UI module. Use when generating API documentation, serving OpenAPI specs, or configuring Swagger annotations on REST resources.
license: Apache-2.0
---
# GuicedEE OpenAPI
Automatic OpenAPI 3.1 spec generation and serving for the GuicedEE / Vert.x stack.
## Core Concept
Add the dependency, annotate your Jakarta REST resources with Swagger/OpenAPI annotations, and the module scans them at startup — `/openapi.json` and `/openapi.yaml` are live with zero configuration.
## Required Flow
1. Add `com.guicedee:openapi` dependency.
2. Annotate REST resources with Swagger/OpenAPI annotations:
```java
@Path("/users")
@Tag(name = "Users", description = "User management operations")
public class UserResource {
@GET
@Operation(summary = "List all users")
@APIResponse(responseCode = "200", description = "Success",
content = @Content(schema = @Schema(implementation = User.class)))
public List<User> listUsers() { ... }
@POST
@Operation(summary = "Create a new user")
public User createUser(CreateUserRequest request) { ... }
}
```
3. Configure `module-info.java`:
```java
module my.app {
requires com.guicedee.openapi;
}
```
4. Bootstrap GuicedEE — OpenAPI endpoints are live automatically:
```java
IGuiceContext.registerModuleForScanning.add("my.app");
IGuiceContext.instance().inject();
// GET /openapi.json → OpenAPI 3.1 JSON spec
// GET /openapi.yaml → OpenAPI 3.1 YAML spec
```
## Companion: Swagger UI
Add the `guiced-swagger-ui` module for a browsable UI at `/swagger/`:
```xml
<dependency>
<groupId>com.guicedee</groupId>
<artifactId>swagger-ui</artifactId>
</dependency>
```
The UI reads from `/openapi.json` automatically — zero code required.
## Supported Annotations
All standard Swagger/OpenAPI annotations are supported:
- `@OpenAPIDefinition` — API-level info, servers, security
- `@Tag` — resource grouping
- `@Operation` — per-endpoint summary, description
- `@APIResponse` / `@APIResponses` — response documentation
- `@Parameter` — parameter documentation
- `@Schema` — model schema customization
- `@Content` — response content types
- `@RequestBody` — request body documentation
## Non-Negotiable Constraints
- Module must `requires com.guicedee.openapi;`.
- Requires `rest` module for Jakarta REST resource scanning.
- The OpenAPI module is registered automatically — no `provides` needed.
- Spec generation happens at startup via ClassGraph scanning.More API Design skills
lark-event
larksuite/cli
Lark/Feishu real-time event listening / subscribing / consuming: stream events as NDJSON via `lark-cli event consume <EventKey>` (covers IM messages/reactions/chat changes, Approval status changes, Task updates, VC meeting started/joined/ended, Minutes generated, Whiteboard updated, etc.). Use for Lark bots, real-time message processing, long-running subscribers, streaming webhook/push handlers. Supports `--max-events` / `--timeout` bounded runs and a stderr ready-marker contract — designed for AI agents running as subprocesses.
lark-contact
larksuite/cli
飞书 / Lark 通讯录:按姓名 / 邮箱解析成 open_id,或按 open_id 反查姓名 / 部门 / 邮箱 / 联系方式 / 个人状态 / 签名,以及按关键词搜索当前用户可见的机器人 / 智能体(agent)。当用户提到一个名字要下一步发消息 / 排日程,或拿到 open_id 想查具体信息时使用。不负责部门树遍历、按部门列员工、组织架构图,这类需求走原生 OpenAPI。
lark-openapi-explorer
larksuite/cli
飞书/Lark 原生 OpenAPI 探索:从官方文档库中挖掘未经 CLI 封装的原生 OpenAPI 接口。当用户的需求无法被现有 lark-* skill 或 lark-cli 已注册命令满足,需要查找并调用原生飞书 OpenAPI 时使用。

