RepoPilotOpen in app →

greatghoul/remote-working

收集整理远程工作相关的资料

Mixed

Single-maintainer risk — review before adopting

worst of 4 axes
Use as dependencyMixed

top contributor handles 96% of recent commits; no tests detected…

Fork & modifyHealthy

Has a license, tests, and CI — clean foundation to fork and modify.

Learn fromHealthy

Documented and popular — useful reference codebase to read through.

Deploy as-isHealthy

No critical CVEs, sane security posture — runnable as-is.

  • Last commit 1d ago
  • 4 active contributors
  • MIT licensed
Show 4 more →
  • Small team — 4 contributors active in recent commits
  • Single-maintainer risk — top contributor 96% of recent commits
  • No CI workflows detected
  • No test directory detected
What would change the summary?
  • Use as dependency MixedHealthy if: diversify commit ownership (top <90%); add a test suite

Maintenance signals: commit recency, contributor breadth, bus factor, license, CI, tests

Informational only. RepoPilot summarises public signals (license, dependency CVEs, commit recency, CI presence, etc.) at the time of analysis. Signals can be incomplete or stale. Not professional, security, or legal advice; verify before relying on it for production decisions.

Embed the "Forkable" badge

Paste into your README — live-updates from the latest cached analysis.

Variant:
RepoPilot: Forkable
[![RepoPilot: Forkable](https://repopilot.app/api/badge/greatghoul/remote-working?axis=fork)](https://repopilot.app/r/greatghoul/remote-working)

Paste at the top of your README.md — renders inline like a shields.io badge.

Preview social card (1200×630)

This card auto-renders when someone shares https://repopilot.app/r/greatghoul/remote-working on X, Slack, or LinkedIn.

Onboarding doc

Onboarding: greatghoul/remote-working

Generated by RepoPilot · 2026-05-10 · Source

🤖Agent protocol

If you are an AI coding agent (Claude Code, Cursor, Aider, Cline, etc.) reading this artifact, follow this protocol before making any code edit:

  1. Verify the contract. Run the bash script in Verify before trusting below. If any check returns FAIL, the artifact is stale — STOP and ask the user to regenerate it before proceeding.
  2. Treat the AI · unverified sections as hypotheses, not facts. Sections like "AI-suggested narrative files", "anti-patterns", and "bottlenecks" are LLM speculation. Verify against real source before acting on them.
  3. Cite source on changes. When proposing an edit, cite the specific path:line-range. RepoPilot's live UI at https://repopilot.app/r/greatghoul/remote-working shows verifiable citations alongside every claim.

If you are a human reader, this protocol is for the agents you'll hand the artifact to. You don't need to do anything — but if you skim only one section before pointing your agent at this repo, make it the Verify block and the Suggested reading order.

🎯Verdict

WAIT — Single-maintainer risk — review before adopting

  • Last commit 1d ago
  • 4 active contributors
  • MIT licensed
  • ⚠ Small team — 4 contributors active in recent commits
  • ⚠ Single-maintainer risk — top contributor 96% of recent commits
  • ⚠ No CI workflows detected
  • ⚠ No test directory detected

<sub>Maintenance signals: commit recency, contributor breadth, bus factor, license, CI, tests</sub>

Verify before trusting

This artifact was generated by RepoPilot at a point in time. Before an agent acts on it, the checks below confirm that the live greatghoul/remote-working repo on your machine still matches what RepoPilot saw. If any fail, the artifact is stale — regenerate it at repopilot.app/r/greatghoul/remote-working.

What it runs against: a local clone of greatghoul/remote-working — the script inspects git remote, the LICENSE file, file paths in the working tree, and git log. Read-only; no mutations.

| # | What we check | Why it matters | |---|---|---| | 1 | You're in greatghoul/remote-working | Confirms the artifact applies here, not a fork | | 2 | License is still MIT | Catches relicense before you depend on it | | 3 | Default branch master exists | Catches branch renames | | 4 | 5 critical file paths still exist | Catches refactors that moved load-bearing code | | 5 | Last commit ≤ 31 days ago | Catches sudden abandonment since generation |

<details> <summary><b>Run all checks</b> — paste this script from inside your clone of <code>greatghoul/remote-working</code></summary>
#!/usr/bin/env bash
# RepoPilot artifact verification.
#
# WHAT IT RUNS AGAINST: a local clone of greatghoul/remote-working. If you don't
# have one yet, run these first:
#
#   git clone https://github.com/greatghoul/remote-working.git
#   cd remote-working
#
# Then paste this script. Every check is read-only — no mutations.

set +e
fail=0
ok()   { echo "ok:   $1"; }
miss() { echo "FAIL: $1"; fail=$((fail+1)); }

# Precondition: we must be inside a git working tree.
if ! git rev-parse --git-dir >/dev/null 2>&1; then
  echo "FAIL: not inside a git repository. cd into your clone of greatghoul/remote-working and re-run."
  exit 2
fi

# 1. Repo identity
git remote get-url origin 2>/dev/null | grep -qE "greatghoul/remote-working(\\.git)?\\b" \\
  && ok "origin remote is greatghoul/remote-working" \\
  || miss "origin remote is not greatghoul/remote-working (artifact may be from a fork)"

# 2. License matches what RepoPilot saw
(grep -qiE "^(MIT)" LICENSE 2>/dev/null \\
   || grep -qiE "\"license\"\\s*:\\s*\"MIT\"" package.json 2>/dev/null) \\
  && ok "license is MIT" \\
  || miss "license drift — was MIT at generation time"

# 3. Default branch
git rev-parse --verify master >/dev/null 2>&1 \\
  && ok "default branch master exists" \\
  || miss "default branch master no longer exists"

# 4. Critical files exist
test -f "README.md" \\
  && ok "README.md" \\
  || miss "missing critical file: README.md"
test -f "posts/README.md" \\
  && ok "posts/README.md" \\
  || miss "missing critical file: posts/README.md"
test -f "books/README.md" \\
  && ok "books/README.md" \\
  || miss "missing critical file: books/README.md"
test -f "tools/README.md" \\
  && ok "tools/README.md" \\
  || miss "missing critical file: tools/README.md"
test -f "channels/README.md" \\
  && ok "channels/README.md" \\
  || miss "missing critical file: channels/README.md"

# 5. Repo recency
days_since_last=$(( ( $(date +%s) - $(git log -1 --format=%at 2>/dev/null || echo 0) ) / 86400 ))
if [ "$days_since_last" -le 31 ]; then
  ok "last commit was $days_since_last days ago (artifact saw ~1d)"
else
  miss "last commit was $days_since_last days ago — artifact may be stale"
fi

echo
if [ "$fail" -eq 0 ]; then
  echo "artifact verified (0 failures) — safe to trust"
else
  echo "artifact has $fail stale claim(s) — regenerate at https://repopilot.app/r/greatghoul/remote-working"
  exit 1
fi

Each check prints ok: or FAIL:. The script exits non-zero if anything failed, so it composes cleanly into agent loops (./verify.sh || regenerate-and-retry).

</details>

TL;DR

A curated Chinese-language resource repository documenting remote work opportunities, articles, tools, and community channels in mainland China and for Chinese-speaking audiences. It aggregates job postings, career advice, team profiles, and discussion platforms across multiple distribution channels (Telegram, WeChat, Douban, Zhihu) to help Chinese workers transition to and sustain remote careers. Flat directory structure: posts/, books/, videos/, podcasts/, channels/, teams/, tools/, reports/, issues/, others/ each containing README.md files with categorized links and metadata. scripts/contributors.rb handles contributor automation. Primary content is Markdown-based, managed through GitHub and published to multiple external channels.

👥Who it's for

Chinese-speaking remote workers and job seekers looking for domestic or China-friendly remote employment opportunities, career guidance, and community support; also contributors maintaining resource lists and updating links.

🌱Maturity & risk

Actively maintained with regular updates (recent article and team additions visible in README). Repository has minimal code complexity (primarily Ruby scripts for automation) and focuses on content curation rather than software delivery. Appears production-ready as a living knowledge base, not a deployed application.

Single-maintainer repository (greatghoul) with link-rot risk—external resources (WeChat articles, team profiles, Telegram channels) may become unavailable. No automated CI/testing infrastructure visible for link validation. Content relies on manual updates; if maintenance stops, curated resources quickly become stale.

Active areas of work

Active content curation: recent posts about remote work challenges (maternal work-life balance, age discrimination), new team additions (Teable, GitFish, Mobile Factory), and cross-channel distribution to Telegram, WeChat, and community forums. Copilot instructions added (.github/copilot-instructions.md) suggesting automation tooling adoption.

🚀Get running

git clone https://github.com/greatghoul/remote-working.git
cd remote-working
# No installation step; browse README.md and category directories
cd scripts && ruby contributors.rb  # If running contributor automation

Daily commands: This is not an executable application. To contribute: edit relevant README.md files in category directories (e.g., posts/README.md, teams/README.md), submit PR, or sync to external channels via manual publishing or configured automation.

🗺️Map of the codebase

  • README.md — Main entry point documenting the repository's purpose, structure, and all distribution channels for remote work resources.
  • posts/README.md — Index for collected articles on remote work experiences; the primary content layer for Chinese-language remote work insights.
  • books/README.md — Curated list of remote work books; essential reference for contributors adding educational resources.
  • tools/README.md — Directory of remote work tools and platforms; critical for keeping tooling recommendations current.
  • channels/README.md — Distribution channels metadata; defines how content is disseminated across Telegram, WeChat, Douban, and other platforms.
  • .github/copilot-instructions.md — AI assistant guidelines for contributions; ensures consistent curation standards across all resource categories.
  • scripts/contributors.rb — Automation script for managing contributor recognition; maintains community engagement and attribution.

🧩Components & responsibilities

  • Resource Categories (posts/, books/, tools/, etc.) (Markdown, GitHub) — Organize curated content by type; each category maintainer ensures quality, relevance, and China-friendliness
    • Failure mode: Stale links, duplicates, irrelevant resources; mitigation requires community reporting and PR reviews
  • Distribution Channels (Telegram, WeChat, Douban) (Telegram API, WeChat, Douban) — Amplify content reach to diverse Chinese audiences; requires periodic syncing from GitHub
    • Failure mode: Out-of-sync content across channels; account suspension; channel-specific moderation issues
  • Main README.md (Markdown, GitHub) — Entry point and navigation hub; communicates repo mission, distribution channels, and quick links
    • Failure mode: Outdated channel links; unclear navigation; loss of visibility for important resources
  • Copilot Instructions (.github/copilot-instructions.md) (Markdown, GitHub Copilot) — Establishes and maintains curation standards for AI-assisted and human contributions
    • Failure mode: Inconsistent quality; off-topic submissions; relaxed editorial standards over time
  • Contributor Management (scripts/contributors.rb) (Ruby, Git) — Automates recognition and tracking of community contributors
    • Failure mode: Stale attribution; missing recent contributors; broken script execution

🔀Data flow

  • External content sourcesResource Category READMEs (posts/, books/, tools/, etc.) — Curators and contributors discover and add links to relevant remote work resources
  • Resource Category READMEsMain README.md — Top-level navigation and summaries aggregate links to all categories
  • Main README.md + CategoriesDistribution Channels (Telegram, WeChat, Douban, 知识星球) — Content is manually or semi-automatically synced to multiple platforms for broad reach
  • GitHub Issues & PRsResource Category READMEs — Community contributions are vetted against copilot-instructions and merged into categories
  • Git commit historyscripts/contributors.rb — Script extracts contributor information for attribution and recognition

🛠️How to make changes

Add a New Article Resource

  1. Open the appropriate category README (e.g., posts/README.md, channels/README.md) (posts/README.md)
  2. Add a new link entry with title and source URL following existing formatting conventions (posts/README.md)
  3. Include metadata such as publication date, author, and brief description if applicable (posts/README.md)
  4. Follow AI guidelines in copilot-instructions.md for content quality and relevance vetting (.github/copilot-instructions.md)

Add a New Resource Category

  1. Create a new directory under the repository root (e.g., workshops/, events/) (README.md)
  2. Create a README.md file in the new directory following existing category patterns (books/README.md)
  3. Update the main README.md to include the new category in the navigation or table of contents (README.md)
  4. Reference the new category in copilot-instructions.md for consistent curation guidelines (.github/copilot-instructions.md)

Update Distribution Channels

  1. Review channels/README.md to understand current publication outlets (channels/README.md)
  2. Add new channel information or update existing channel metadata (URL, frequency, audience) (channels/README.md)
  3. Update main README.md distribution section to reflect new channels (README.md)

Maintain Contributor Attribution

  1. Review scripts/contributors.rb for current contributor tracking logic (scripts/contributors.rb)
  2. Run the script periodically to update contributor lists across categories (scripts/contributors.rb)
  3. Verify attribution accuracy in relevant README files after script execution (posts/README.md)

🔧Why these technologies

  • Markdown (README.md files) — Simple, version-controllable format for curated lists; renders beautifully on GitHub and is accessible to non-technical contributors
  • GitHub Pages / README rendering — Free hosting, built-in web interface, no database or server infrastructure required for a curated resource aggregator
  • Ruby scripting (contributors.rb) — Lightweight automation for periodic maintenance tasks like contributor recognition without requiring heavy CI/CD infrastructure
  • GitHub Issues & Pull Requests — Built-in community contribution workflow; enables crowdsourced curation with discussion and validation

⚖️Trade-offs already made

  • Static Markdown-based content instead of dynamic database

    • Why: Eliminates operational complexity and infrastructure costs; makes content version-controlled and auditable
    • Consequence: Manual updates required; no real-time search or filtering; requires Git knowledge for large-scale contributions
  • Curated resource list vs. automated web crawling

    • Why: Ensures quality and relevance; allows editorial control and filters for China-friendly resources
    • Consequence: Higher maintenance burden; depends on community contributors; slower to add new resources
  • Multi-channel distribution (Telegram, WeChat, Douban, etc.) vs. single platform

    • Why: Reaches diverse Chinese audience across their preferred platforms; maximizes content accessibility
    • Consequence: Requires manual synchronization; content consistency risk; operational overhead across channels

🚫Non-goals (don't propose these)

  • Real-time job marketplace or employment matching platform
  • User authentication or account management system
  • Dynamic content recommendation engine
  • Full-text search across all resources
  • Automated resource discovery or web scraping
  • Direct payment processing or e-commerce functionality
  • Non-Chinese language resource curation

⚠️Anti-patterns to avoid

  • Manual multi-channel synchronization (Medium)channels/README.md, README.md: Content is manually copied across Telegram, WeChat, Douban, and 知识星球; high risk of inconsistency and stale information
  • No automated link validationposts/README.md, books/: undefined

🪤Traps & gotchas

No environment variables or secrets required for local browsing. External links (WeChat articles, Telegram channels) require active internet; many URLs are time-gated (WeChat subscription paywalls, removed Douban group posts). No automated link verification—broken links accumulate without CI/CD checks. Ruby version not specified in scripts; assume modern Ruby (2.7+). Contributor automation assumes GitHub Actions or CI environment not visible in file list.

🏗️Architecture

💡Concepts to learn

  • Link Rot in Content Curation — This repository aggregates external links (WeChat articles, Telegram channels, team websites) that frequently disappear or become inaccessible; understanding link durability strategies is critical to maintaining a living curated list
  • Multi-Channel Content Distribution — The repo syncs content to Telegram, WeChat, Douban, and Zhihu simultaneously; understanding API-based vs. manual publishing workflows prevents bottlenecks and ensures reach across fragmented Chinese platforms
  • Remote Work Policy & Legal Frameworks (China-Specific) — Articles in posts/ and issues/ discuss Chinese labor law, contract types, and tax implications for remote workers; understanding these nuances is essential for accurate curation and contributor guidance
  • Community-Driven Open-Source Curation — Repository relies on pull request contributions for content updates rather than automated crawling; understanding GitHub collaboration workflows and contribution guidelines ensures scale without maintainer burnout
  • Metadata Standardization for Resources — Each category (posts, teams, tools) uses consistent formatting with titles, links, and brief descriptions; standardized schemas enable automated indexing and cross-referencing without manual curation
  • Telegram Bot & WeChat Official Account APIs — Mentioned distribution channels suggest integration with third-party messaging APIs for automated publishing; understanding these integrations is needed for scaling content delivery beyond GitHub
  • HuangCongQing/remote-work-list — Parallel Chinese remote work resource repository with different team and company curation focus
  • xyNNN/remote-work — Another Chinese-language remote work compilation with emphasis on freelance platforms and tool reviews
  • awesome-remote-job/awesome-remote-job — English-language equivalent aggregating global remote jobs and resources; reference for content structure and curation patterns
  • nuxt/awesome — Canonical awesome-list template and community standards for resource curation repositories on GitHub

🪄PR ideas

To work on one of these in Claude Code or Cursor, paste: Implement the "<title>" PR idea from CLAUDE.md, working through the checklist as the task list.

Create a comprehensive INDEX.md linking all category README files

The repo has 10+ category directories (books, channels, issues, podcasts, posts, reports, teams, tools, videos, others) each with their own README.md, but there's no central index file. New visitors can't easily discover what content exists in each category. Adding a structured INDEX.md would improve navigation and discoverability.

  • [ ] Create INDEX.md in root directory with descriptions of each category
  • [ ] Link to each category's README (books/README.md, channels/README.md, etc.)
  • [ ] Add statistics: count of items per category (requires scanning each README.md)
  • [ ] Include visual hierarchy with emojis matching the README snippet style (📝 for articles, 📚 for books, etc.)
  • [ ] Update main README.md to reference INDEX.md prominently

Add a GitHub Actions workflow to validate README markdown structure and links

With multiple README.md files across categories containing URLs (Telegram, WeChat, Douban, etc.), there's risk of broken or outdated links. A CI workflow would catch broken links in all README files, validate markdown formatting, and ensure consistent structure across categories.

  • [ ] Create .github/workflows/validate-links.yml workflow file
  • [ ] Use markdown-link-check action to verify all URLs in README.md files across all directories
  • [ ] Add check for consistent heading structure (e.g., all categories start with 📝, 📚, etc.)
  • [ ] Configure to fail on 404s or timeout errors
  • [ ] Document in .github/CONTRIBUTING.md how to test links locally before pushing

Create a CONTRIBUTING.md guide with contribution templates for each category

The repo accepts contributions to 10+ different content categories (articles, books, tools, channels, etc.), but there's no guidance on formatting standards. Different categories likely need different metadata (publish date for articles, pricing for tools, etc.). A structured CONTRIBUTING.md would reduce friction for new contributors and ensure consistency.

  • [ ] Create .github/CONTRIBUTING.md with section for each category type
  • [ ] Define required fields for each category (e.g., articles need: title, URL, author, publish date)
  • [ ] Provide markdown template examples for posts/README.md, tools/README.md, books/README.md entries
  • [ ] Add validation rules (e.g., Chinese content or international content friendly to Chinese audience)
  • [ ] Include process for adding items: fork → add to appropriate category → submit PR with description

🌿Good first issues

  • Add link validation script: Create a Ruby script in scripts/validate_links.rb to crawl all README.md files and report dead links (WeChat articles, team websites, video URLs). Test against posts/README.md first.
  • Expand teams/README.md with 5 new hiring companies: Research and add hiring companies from recent remote job boards (e.g., remote-china.com itself, if not already listed) with hiring domains, team size, and hiring status.
  • Create a reports/ category index: Write a reports/README.md summarizing 3-5 industry reports on Chinese remote work trends (salary surveys, adoption rates, legal changes) linking to external PDFs or articles.

Top contributors

Click to expand

📝Recent commits

Click to expand
  • 03525da — 新增文章链接:我其实并不看好远程办公 (greatghoul)
  • 239617f — 新增文章链接:35岁失业后,我找到3份居家工作,我活成了自己想要的样子 (greatghoul)
  • b73fab8 — 更新 Telegram 频道链接格式 (greatghoul)
  • 5f0d450 — 更新 Telegram 频道信息,新增远程工作Hub,调整链接格式 (greatghoul)
  • 57b2b46 — 新增 Telegram 频道“远程工作AI情报站”,并调整相关内容 (greatghoul)
  • 891942f — 更新“站点”章节为“渠道”,并新增渠道相关内容 (greatghoul)
  • c78425b — 新增文章:宝妈居家办公实录:“补觉-熬夜”的死循环 (greatghoul)
  • d4a97cd — 新增文章:想拿远程offer,到底需要哪些核心能力? (greatghoul)
  • 5cbbbc6 — Merge branch 'master' of https://github.com/greatghoul/remote-working (greatghoul)
  • 103f447 — Merge pull request #347 from garylab/master (greatghoul)

🔒Security observations

This is a static documentation/resource collection repository with minimal security risks. No code execution, databases, or sensitive credentials were detected. Primary concerns are around user-generated content validation, external URL integrity, and standard web security practices if content is served via a website. The Ruby script lacks explicit dependency management. Overall security posture is good for a community resource repository, but should implement contribution review processes to prevent malicious content injection.

  • Low · Ruby Script Without Dependency Management — scripts/contributors.rb. The scripts/contributors.rb file is a Ruby script with no visible Gemfile or dependency management. This could lead to missing dependencies or uncontrolled versions being used. Fix: Add a Gemfile with locked versions (Gemfile.lock) to manage Ruby dependencies explicitly. Use Bundler for dependency management.
  • Low · Unvalidated External URLs in Documentation — README.md. The README contains multiple unvalidated external URLs (Telegram, WeChat, Douban, etc.) that could potentially be compromised or altered. Users could be directed to malicious sites if the repository is compromised. Fix: Use URL integrity verification where possible. Consider implementing a security policy for adding external URLs. Regularly audit and verify all external links are pointing to legitimate resources.
  • Low · Missing Security Headers Configuration — .github/. No evidence of security headers configuration (HSTS, CSP, X-Frame-Options, etc.) for the GitHub Pages or any web hosting. Fix: If hosting web content, configure appropriate security headers in _config.yml (for Jekyll) or nginx/server configuration.
  • Low · No Input Validation for User Contributions — README.md (contribution process). As a community-driven resource collection, there's no visible mechanism to validate or sanitize user-contributed content before inclusion. Fix: Implement a contribution review process. Use automated tools to scan for malicious URLs, code injection, or inappropriate content before merging pull requests.
  • Info · Sensitive Contact Information Exposure — README.md (line with issue #340). The README references issue #340 for WeChat contact requests, which could expose personal contact information or create social engineering vectors. Fix: Use a dedicated contact form or separate communication channel instead of directing to GitHub issues. Consider implementing rate limiting on contact requests.

LLM-derived; treat as a starting point, not a security audit.


Generated by RepoPilot. Verdict based on maintenance signals — see the live page for receipts. Re-run on a new commit to refresh.

Mixed signals · greatghoul/remote-working — RepoPilot