{"id":37572886,"url":"https://github.com/yjwong/lark-cli","last_synced_at":"2026-03-02T07:13:44.471Z","repository":{"id":332486975,"uuid":"1133961935","full_name":"yjwong/lark-cli","owner":"yjwong","description":"A token-efficient CLI for Lark/Feishu APIs, designed for AI assistants like Claude Code. Supports calendar, contacts, documents, and messages.","archived":false,"fork":false,"pushed_at":"2026-02-22T17:02:38.000Z","size":161,"stargazers_count":9,"open_issues_count":5,"forks_count":4,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-22T21:36:33.942Z","etag":null,"topics":["ai-tools","claude","claude-code","cli","feishu","lark"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/yjwong.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-01-14T03:45:23.000Z","updated_at":"2026-02-22T17:02:42.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/yjwong/lark-cli","commit_stats":null,"previous_names":["yjwong/lark-cli"],"tags_count":10,"template":false,"template_full_name":null,"purl":"pkg:github/yjwong/lark-cli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yjwong%2Flark-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yjwong%2Flark-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yjwong%2Flark-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yjwong%2Flark-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/yjwong","download_url":"https://codeload.github.com/yjwong/lark-cli/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/yjwong%2Flark-cli/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29994690,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-02T01:47:34.672Z","status":"online","status_checked_at":"2026-03-02T02:00:07.342Z","response_time":60,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai-tools","claude","claude-code","cli","feishu","lark"],"created_at":"2026-01-16T09:26:45.742Z","updated_at":"2026-03-02T07:13:44.460Z","avatar_url":"https://github.com/yjwong.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# lark\n\nA CLI tool for interacting with Lark/Feishu APIs, designed for use with Claude Code and other AI assistants.\n\n## Why This Tool?\n\nThe official Lark MCP server exists, but its tools are not token-efficient. Each tool call returns verbose responses that consume significant context window space when used with AI assistants.\n\nThis CLI addresses that by:\n\n- **Returning compact JSON** - Structured output optimized for programmatic consumption\n- **Providing markdown conversion** - Documents are converted to markdown (~2-3x smaller than raw block structures)\n- **Supporting selective queries** - Fetch only what you need (e.g., just event IDs, just document titles)\n\nThe result: AI assistants can interact with Lark using fewer tokens, leaving more context for actual work.\n\n## Features\n\n- **Calendar** - List, create, update, delete events; check availability; find common free time; RSVP\n- **Contacts** - Look up users by ID, search by name, list department members\n- **Documents** - Read documents as markdown, list folders, resolve wiki nodes, get comments\n- **Messages** - Retrieve chat history, download attachments, send messages, add/list/remove reactions\n- **Mail** - Read and search emails via IMAP with local caching\n- **Minutes** - Get meeting recording metadata, export transcripts, download media\n\n## Quick Start\n\n1. Create a Lark app at https://open.larksuite.com with appropriate permissions\n2. Copy `config.example.yaml` to `.lark/config.yaml` and add your App ID\n3. Set `LARK_APP_SECRET` environment variable\n4. Run `./lark auth login` to authenticate\n5. Start using: `./lark cal list --week`\n\nSee [USAGE.md](USAGE.md) for full documentation.\n\n## Building\n\n```bash\nmake build    # Build binary to ./lark\nmake test     # Run tests\nmake install  # Install to $GOPATH/bin\n```\n\n## Usage with Claude Code\n\nThis tool is designed to be invoked via Claude Code skills. Pre-built skill definitions are included in the `skills/` directory.\n\n### Installing Skills\n\nCopy the skill directories to your Claude Code skills location:\n\n```bash\n# Project-specific (recommended)\ncp -r skills/* /path/to/your/project/.claude/skills/\n\n# Or user-wide\ncp -r skills/* ~/.claude/skills/\n```\n\nAvailable skills:\n- `calendar` - Manage calendar events, check availability, RSVP\n- `contacts` - Look up users and departments\n- `documents` - Read documents, list folders, browse wikis\n- `messages` - Retrieve chat history, download attachments, send messages to users and chats\n- `email` - Read and search emails via IMAP with local caching\n- `minutes` - Get meeting recordings, export transcripts, download media\n\n### Configuration\n\nThe skills assume `lark` is in your PATH. If not, you can either:\n\n1. Add the binary location to your PATH\n2. Edit the skill files to use the full path\n3. Set `LARK_CONFIG_DIR` environment variable to point to your `.lark/` config directory\n\nThe JSON output format makes it straightforward for AI assistants to parse responses and take action.\n\n## License\n\nMIT - see [LICENSE](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyjwong%2Flark-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyjwong%2Flark-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyjwong%2Flark-cli/lists"}