Add repository import manifest, import script, and revamped Terkix AI launch dashboard#6
Add repository import manifest, import script, and revamped Terkix AI launch dashboard#6Huynhthuongg wants to merge 5 commits into
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Qodo reviews are paused for this user.Troubleshooting steps vary by plan Learn more → On a Teams plan? Using GitHub Enterprise Server, GitLab Self-Managed, or Bitbucket Data Center? |
📝 WalkthroughSummary by CodeRabbitRelease Notes
WalkthroughPull request này thiết lập hệ thống import repositories từ manifest JSON và thiết kế lại dashboard từ dự án Android sang repository lane tracking. Bao gồm script Node.js để clone/update repositories, cập nhật metadata branding, và hướng dẫn triển khai công khai trên Vercel. ChangesRepository Import Infrastructure
AI Launch Dashboard & Branding
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Poem
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
⚔️ Resolve merge conflicts
✨ Simplify code
Warning There were issues while running some tools. Please review the errors and either fix the tool's configuration or disable the tool if it's a critical failure. 🔧 ESLint
ESLint install failed due to a network error. Warning Review ran into problems🔥 ProblemsLinked repositories: Your configuration references 1 linked repositories, but your current plan allows 0. Analyzed ``, skipped Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Kilo Code Review could not run — your account is out of credits. Add credits or switch to a free model to enable reviews on this change. |
…epository-with-ui Add repository import manifest and automation
…lytics-pyz4yj Merge pull request #7 from Huynhthuongg/codex/setup-unified-project-r…
…epository-with-ui Merge pull request #8 from Huynhthuongg/vercel/install-vercel-web-ana…
There was a problem hiding this comment.
Actionable comments posted: 6
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@app/`(dashboard)/page.tsx:
- Around line 23-29: The Repository type currently declares a non-existent field
role which diverges from the upstream manifest and creates duplicate sources of
truth; fix by either (1) adding role to the upstream manifest
(imports/repositories.json) and updating any imports/usages to rely solely on
that manifest so the Repository type (and the repositories array) matches the
manifest schema, or (2) remove role from the static Repository type and instead
import the manifest JSON directly and augment each imported repository with a
computed role inside the component (keep a separate role-mapping lookup and
apply it at render time) so you avoid duplicating the full repositories list;
update the Repository type and the repositories usage to match the chosen
approach.
- Around line 31-242: The hardcoded repositories array in the repositories
constant duplicates the canonical manifest and should be replaced by importing
the manifest and merging any local role metadata; update
app/(dashboard)/page.tsx to remove the inline repositories array and instead
import the JSON (e.g., import repoManifest from 'imports/repositories.json'),
create a small rolesMap keyed by repository name containing the local role
strings, then build repositories = repoManifest.map(r => ({ ...r, role:
rolesMap[r.name] ?? r.role ?? '' })); ensure any new/removed items are handled
automatically and that rolesMap only contains the extra metadata (or move that
metadata into the manifest at source) so you no longer maintain two divergent
lists.
In `@imports/README.md`:
- Line 17: Update the README wording that currently says "full archive" to
accurately reflect the shallow clone performed by the import script (it uses
--depth=1 --filter=blob:none) — replace the phrase "full archive" with something
like "working tree needed to launch shell" (or equivalent) so the doc no longer
implies full git history is restored; ensure the sentence that mentions
restoring the archive is revised to state only the working tree/files required
to run the shell are restored.
In `@scripts/import-repositories.mjs`:
- Around line 35-37: Kiểm tra và đồng bộ remote trước khi gọi git pull: thay vì
chỉ kiểm tra existence của destination/.git, lấy giá trị remote origin bằng
run("git", ["-C", destination, "config", "--get", "remote.origin.url"]) và so
sánh với repo.url; nếu trùng thì tiếp tục với run("git", ["-C", destination,
"pull", "--ff-only"]), còn nếu khác thì xoá/thay thế thư mục destination và
clone lại bằng run("git", ["clone", repo.url, destination"]) (hoặc gọi
run("git", ["-C", destination, "remote", "set-url", "origin", repo.url"]) trước
khi pull nếu bạn muốn giữ lịch sử), đảm bảo dùng biến destination, repo.url và
hàm run để định vị thay đổi.
- Around line 15-21: The run() helper uses spawnSync without a timeout or
disabling Git interactive prompts, which can hang; update run (the function that
calls spawnSync) to merge default options that include a sensible timeout (e.g.,
30_000 ms) and an env that sets GIT_TERMINAL_PROMPT=0 while preserving/merging
any provided options.env so callers can override; ensure stdio and cwd behavior
is preserved and that callers who pass options can still override timeout/env if
needed.
- Around line 11-30: Sanitize and validate repo inputs and make git operations
non-interactive: ensure repo.name is validated/normalized before using it in
path.join(targetRoot, repo.name) (reject or canonicalize values with ..,
absolute paths, or path separators), compute destination using the sanitized
name and recompute destinationLabel from that sanitized path; before running git
-C <destination> pull, verify the existing repo's remote URL (via git -C
<destination> remote get-url origin) matches repo.url from the manifest and
fail/record an error if it differs; update the run function (which wraps
spawnSync) to pass a timeout and set env/git flags to disable interactive
prompts (e.g., GIT_TERMINAL_PROMPT=0) and propagate non-zero statuses so
operations don’t hang (modify run/spawnSync options to include timeout and env),
and record failures into failures when validation or remote mismatch occurs.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: ASSERTIVE
Plan: Pro
Run ID: 5f3b8038-af34-4a20-8e38-206cd7a4b035
📒 Files selected for processing (10)
.gitignoreDEPLOYMENT.mdapp/(dashboard)/page.tsxapp/layout.tsximports/IMPORT_STATUS.mdimports/README.mdimports/repositories.jsonimports/repositories/.gitkeeppackage.jsonscripts/import-repositories.mjs
Motivation
Description
imports/repositories.jsonplusimports/repositories/.gitkeepand docsimports/README.mdandimports/IMPORT_STATUS.mdto describe import behavior and status.scripts/import-repositories.mjsand wire it intopackage.jsonas theimport:reposscript to clone or update repos intoimports/repositories/with--depth=1and blob filtering..gitignoreto ignore the imported repositories folder while keeping the.gitkeepfile.app/(dashboard)/page.tsxto present repository lanes, featured/reference lists, AI repo cards, a public deploy plan, and updated visuals and metadata; also updateapp/layout.tsxmetadata text.DEPLOYMENT.mddescribing a fast path to deploy to Vercel and notes about the production shell and build/check commands.Testing
npm run import:repos -- --continue-on-error, which executed the new script but failed to clone repositories in this environment due to network restrictions (CONNECT tunnel failed, response 403), so the manifest and tooling were added but the working trees were not populated.Codex Task
Summary by cubic
Adds a repository import manifest and script to pull 30 external repositories into a gitignored folder, and rebuilds the home screen into a Terkix/RKIX3 launch dashboard with lanes, merge queue, and a public deploy plan for Vercel.
New Features
imports/repositories.jsonwith docs (imports/README.md,imports/IMPORT_STATUS.md) to track and restore 30 repos.scripts/import-repositories.mjs, wired asnpm run import:repos, clones/updates intoimports/repositories/with--depth=1and blob filtering;.gitignoreignores the target while keeping.gitkeep.app/(dashboard)/page.tsx: repository lanes (Core/AI/Dashboard/Storage/Deploy/Tools/Docs), AI module list, merge queue, repo counts, full repo list, and a public link plan; updated metadata inapp/layout.tsx.DEPLOYMENT.mdadds a fast path to deploy on Vercel withnpm run build.Migration
npm run import:repos(add--continue-on-errorto skip failures).imports/repositories/and are not committed to git.DEPLOYMENT.md(Vercel Next.js preset, defaultnpm run build, then attach your domain). If network access blocks GitHub clones, run the import on a machine/CI with GitHub access.Written for commit 4c13aa4. Summary will update on new commits.