Skip to content

Commit 17ee49e

Browse files
committed
docs: OSS-standard repo structure
- README with badges, features, quick start, tech stack, project structure - MIT license (GrayCodeAI 2026) - CONTRIBUTING, CODE_OF_CONDUCT (v2.1), SECURITY, CHANGELOG - GitHub templates: PR, bug report, feature request - CI workflow: tsc, build on push/PR - Updated index.html with proper title and meta tags
1 parent fac4dd3 commit 17ee49e

12 files changed

Lines changed: 620 additions & 23 deletions

File tree

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
---
2+
name: Bug Report
3+
about: Report a bug to help us improve Lark
4+
title: ""
5+
labels: bug
6+
assignees: ""
7+
---
8+
9+
## Describe the Bug
10+
11+
<!-- A clear and concise description of what the bug is. -->
12+
13+
## Steps to Reproduce
14+
15+
1. Go to '...'
16+
2. Click on '...'
17+
3. Scroll down to '...'
18+
4. See error
19+
20+
## Expected Behavior
21+
22+
<!-- What you expected to happen. -->
23+
24+
## Actual Behavior
25+
26+
<!-- What actually happened. -->
27+
28+
## Screenshots
29+
30+
<!-- If applicable, add screenshots to help explain the problem. -->
31+
32+
## Environment
33+
34+
- **OS**: [e.g., macOS 15, Windows 11, Ubuntu 24.04]
35+
- **Browser**: [e.g., Chrome 126, Firefox 128, Safari 18]
36+
- **Node.js version**: [e.g., 20.14.0]
37+
- **Lark version**: [e.g., 0.1.0]
38+
39+
## Additional Context
40+
41+
<!-- Any other context about the problem. -->
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
---
2+
name: Feature Request
3+
about: Suggest a new feature for Lark
4+
title: ""
5+
labels: enhancement
6+
assignees: ""
7+
---
8+
9+
## Problem
10+
11+
<!-- A clear and concise description of the problem you are trying to solve. -->
12+
13+
## Proposed Solution
14+
15+
<!-- Describe the solution you would like. -->
16+
17+
## Alternatives Considered
18+
19+
<!-- Any alternative solutions or features you have considered. -->
20+
21+
## Additional Context
22+
23+
<!-- Mockups, screenshots, or references that help explain the feature. -->

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
## What
2+
3+
<!-- A brief description of what this PR does. -->
4+
5+
## Why
6+
7+
<!-- Why is this change needed? Link to any related issues. -->
8+
9+
Closes #
10+
11+
## How
12+
13+
<!-- How does this change work? Highlight any design decisions. -->
14+
15+
## Screenshots
16+
17+
<!-- If this is a UI change, include before/after screenshots or a screen recording. -->
18+
19+
## Checklist
20+
21+
- [ ] `npx tsc --noEmit` passes
22+
- [ ] `npm run build` passes
23+
- [ ] I have tested this change locally
24+
- [ ] I have updated documentation if needed
25+
- [ ] My commits follow [Conventional Commits](https://www.conventionalcommits.org/)

.github/workflows/ci.yml

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
name: CI
2+
3+
on:
4+
push:
5+
branches: [main]
6+
pull_request:
7+
branches: [main]
8+
9+
jobs:
10+
build:
11+
name: Build & Type Check
12+
runs-on: ubuntu-latest
13+
14+
steps:
15+
- name: Checkout
16+
uses: actions/checkout@v4
17+
18+
- name: Setup Node.js
19+
uses: actions/setup-node@v4
20+
with:
21+
node-version: 20
22+
cache: npm
23+
24+
- name: Install dependencies
25+
run: npm ci
26+
27+
- name: Type check
28+
run: npx tsc --noEmit
29+
30+
- name: Build
31+
run: npm run build

.gitignore

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,34 @@
1-
node_modules/\ndist/
1+
# Dependencies
2+
node_modules/
3+
4+
# Build output
5+
dist/
6+
7+
# Environment
8+
.env
9+
.env.local
10+
.env.*.local
11+
12+
# IDE
13+
.vscode/
14+
.idea/
15+
*.swp
16+
*.swo
17+
*~
18+
19+
# OS
20+
.DS_Store
21+
Thumbs.db
22+
23+
# TypeScript
24+
*.tsbuildinfo
25+
26+
# Test coverage
27+
coverage/
28+
29+
# Logs
30+
*.log
31+
npm-debug.log*
32+
33+
# Misc
34+
*.local

CHANGELOG.md

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# Changelog
2+
3+
All notable changes to this project will be documented in this file.
4+
5+
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6+
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7+
8+
## [0.1.0] - 2026-05-27
9+
10+
### Added
11+
12+
- Initial release of the Lark web client.
13+
- Token-based authentication (JWT and API key) with login view.
14+
- Multi-workspace support with workspace switching.
15+
- Channel sidebar with category grouping and unread counts.
16+
- Real-time messaging via WebSocket with automatic reconnection.
17+
- Threaded conversations with a slide-over thread panel.
18+
- Markdown rendering with GFM support and syntax highlighting.
19+
- Message editing and deletion.
20+
- Typing indicators and member presence tracking.
21+
- Notifications page with mention, DM, task, and reaction filters.
22+
- Calls page for audio and video call management.
23+
- Workflows page for automation rule configuration and run history.
24+
- Billing page with plan management and usage tracking.
25+
- Integrations marketplace for third-party service connections.
26+
- Settings page for workspace and account configuration.
27+
- Agent-native features: agent status (awake/sleeping), agent activity feeds.
28+
- Error boundary for graceful failure handling.
29+
- Vite dev server with API and WebSocket proxy configuration.
30+
- Tailwind CSS v4 integration with `@tailwindcss/typography`.
31+
- Full TypeScript strict mode.

CODE_OF_CONDUCT.md

Lines changed: 133 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,133 @@
1+
# Contributor Covenant Code of Conduct
2+
3+
## Our Pledge
4+
5+
We as members, contributors, and leaders pledge to make participation in our
6+
community a harassment-free experience for everyone, regardless of age, body
7+
size, visible or invisible disability, ethnicity, sex characteristics, gender
8+
identity and expression, level of experience, education, socio-economic status,
9+
nationality, personal appearance, race, caste, color, religion, or sexual
10+
identity and orientation.
11+
12+
We pledge to act and interact in ways that contribute to an open, welcoming,
13+
diverse, inclusive, and healthy community.
14+
15+
## Our Standards
16+
17+
Examples of behavior that contributes to a positive environment for our
18+
community include:
19+
20+
- Demonstrating empathy and kindness toward other people
21+
- Being respectful of differing opinions, viewpoints, and experiences
22+
- Giving and gracefully accepting constructive feedback
23+
- Accepting responsibility and apologizing to those affected by our mistakes,
24+
and learning from the experience
25+
- Focusing on what is best not just for us as individuals, but for the overall
26+
community
27+
28+
Examples of unacceptable behavior include:
29+
30+
- The use of sexualized language or imagery, and sexual attention or advances of
31+
any kind
32+
- Trolling, insulting or derogatory comments, and personal or political attacks
33+
- Public or private harassment
34+
- Publishing others' private information, such as a physical or email address,
35+
without their explicit permission
36+
- Other conduct which could reasonably be considered inappropriate in a
37+
professional setting
38+
39+
## Enforcement Responsibilities
40+
41+
Community leaders are responsible for clarifying and enforcing our standards of
42+
acceptable behavior and will take appropriate and fair corrective action in
43+
response to any behavior that they deem inappropriate, threatening, offensive,
44+
or harmful.
45+
46+
Community leaders have the right and responsibility to remove, edit, or reject
47+
comments, commits, code, wiki edits, issues, and other contributions that are
48+
not aligned to this Code of Conduct, and will communicate reasons for moderation
49+
decisions when appropriate.
50+
51+
## Scope
52+
53+
This Code of Conduct applies within all community spaces, and also applies when
54+
an individual is officially representing the community in public spaces.
55+
Examples of representing our community include using an official email address,
56+
posting via an official social media account, or acting as an appointed
57+
representative at an online or offline event.
58+
59+
## Enforcement
60+
61+
Instances of abusive, harassing, or otherwise unacceptable behavior may be
62+
reported to the community leaders responsible for enforcement at
63+
**conduct@graycode.ai**.
64+
65+
All complaints will be reviewed and investigated promptly and fairly.
66+
67+
All community leaders are obligated to respect the privacy and security of the
68+
reporter of any incident.
69+
70+
## Enforcement Guidelines
71+
72+
Community leaders will follow these Community Impact Guidelines in determining
73+
the consequences for any action they deem in violation of this Code of Conduct:
74+
75+
### 1. Correction
76+
77+
**Community Impact**: Use of inappropriate language or other behavior deemed
78+
unprofessional or unwelcome in the community.
79+
80+
**Consequence**: A private, written warning from community leaders, providing
81+
clarity around the nature of the violation and an explanation of why the
82+
behavior was inappropriate. A public apology may be requested.
83+
84+
### 2. Warning
85+
86+
**Community Impact**: A violation through a single incident or series of
87+
actions.
88+
89+
**Consequence**: A warning with consequences for continued behavior. No
90+
interaction with the people involved, including unsolicited interaction with
91+
those enforcing the Code of Conduct, for a specified period of time. This
92+
includes avoiding interactions in community spaces as well as external channels
93+
like social media. Violating these terms may lead to a temporary or permanent
94+
ban.
95+
96+
### 3. Temporary Ban
97+
98+
**Community Impact**: A serious violation of community standards, including
99+
sustained inappropriate behavior.
100+
101+
**Consequence**: A temporary ban from any sort of interaction or public
102+
communication with the community for a specified period of time. No public or
103+
private interaction with the people involved, including unsolicited interaction
104+
with those enforcing the Code of Conduct, is allowed during this period.
105+
Violating these terms may lead to a permanent ban.
106+
107+
### 4. Permanent Ban
108+
109+
**Community Impact**: Demonstrating a pattern of violation of community
110+
standards, including sustained inappropriate behavior, harassment of an
111+
individual, or aggression toward or disparagement of classes of individuals.
112+
113+
**Consequence**: A permanent ban from any sort of public interaction within the
114+
community.
115+
116+
## Attribution
117+
118+
This Code of Conduct is adapted from the [Contributor Covenant][homepage],
119+
version 2.1, available at
120+
[https://www.contributor-covenant.org/version/2/1/code_of_conduct.html][v2.1].
121+
122+
Community Impact Guidelines were inspired by
123+
[Mozilla's code of conduct enforcement ladder][Mozilla CoC].
124+
125+
For answers to common questions about this code of conduct, see the FAQ at
126+
[https://www.contributor-covenant.org/faq][FAQ]. Translations are available at
127+
[https://www.contributor-covenant.org/translations][translations].
128+
129+
[homepage]: https://www.contributor-covenant.org
130+
[v2.1]: https://www.contributor-covenant.org/version/2/1/code_of_conduct.html
131+
[Mozilla CoC]: https://github.com/mozilla/diversity
132+
[FAQ]: https://www.contributor-covenant.org/faq
133+
[translations]: https://www.contributor-covenant.org/translations

0 commit comments

Comments
 (0)