Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 15 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
root = true

[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
indent_style = space
indent_size = 2
trim_trailing_whitespace = true

[*.md]
trim_trailing_whitespace = false

[Makefile]
indent_style = tab
12 changes: 12 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
## Summary

-

## Testing

- [ ] `npm run lint`
- [ ] `npm run build`

## Notes

-
32 changes: 32 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: CI

on:
pull_request:
push:
branches:
- main
- master

jobs:
verify:
name: Type-check and build
runs-on: ubuntu-latest

steps:
- name: Checkout repository
uses: actions/checkout@v4

- name: Setup Node.js
uses: actions/setup-node@v4
with:
node-version-file: .nvmrc
cache: npm

- name: Install dependencies
run: npm ci

- name: Type-check
run: npm run lint

- name: Build
run: npm run build
6 changes: 6 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,9 @@ coverage/
*.log
.env*
!.env.example
data_store.json
*.local
npm-debug.log*
yarn-debug.log*
yarn-error.log*
pnpm-debug.log*
1 change: 1 addition & 0 deletions .nvmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
20
6 changes: 6 additions & 0 deletions .prettierignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
dist
build
coverage
node_modules
data_store.json
package-lock.json
6 changes: 6 additions & 0 deletions .prettierrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"singleQuote": true,
"semi": true,
"trailingComma": "es5",
"printWidth": 100
}
7 changes: 7 additions & 0 deletions .vscode/extensions.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"recommendations": [
"dbaeumer.vscode-eslint",
"esbenp.prettier-vscode",
"bradlc.vscode-tailwindcss"
]
}
7 changes: 7 additions & 0 deletions .vscode/settings.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
{
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode",
"typescript.tsdk": "node_modules/typescript/lib",
"tailwindCSS.experimental.configFile": null,
"files.eol": "\n"
}
46 changes: 46 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
# Contributing

Cảm ơn bạn đã đóng góp cho RKix Storage Center. Hãy dùng quy trình dưới đây để giữ dự án dễ phát triển và dễ review.

## Thiết lập local

```bash
npm ci
cp .env.example .env
npm run dev
```

## Chuẩn chất lượng

Trước khi gửi thay đổi, hãy chạy:

```bash
npm run lint
npm run build
```

## Quy ước code

- Dùng TypeScript cho frontend và backend.
- Giữ kiểu dữ liệu dùng chung trong `src/types.ts` khi UI và API cùng phụ thuộc.
- Không commit secret, `.env`, `data_store.json`, `dist`, `node_modules` hoặc file log.
- Ưu tiên component nhỏ, dễ đọc nếu tách UI mới khỏi `src/App.tsx`.
- Nếu thêm endpoint API, cập nhật `docs/API.md`.
- Nếu thay đổi cấu trúc hệ thống, cập nhật `docs/ARCHITECTURE.md`.

## Quy ước commit gợi ý

Dùng commit message ngắn, rõ ràng:

- `feat: add project search filters`
- `fix: handle missing backup payload`
- `docs: document storage tree api`
- `chore: update development tooling`

## Checklist pull request

- [ ] Mô tả thay đổi chính.
- [ ] Cập nhật tài liệu liên quan.
- [ ] Chạy `npm run lint`.
- [ ] Chạy `npm run build`.
- [ ] Kiểm tra UI thủ công nếu thay đổi giao diện.
Loading