{"id":47709476,"url":"https://github.com/hsuanyulee/polaris","last_synced_at":"2026-06-13T09:01:19.826Z","repository":{"id":347519979,"uuid":"1194315993","full_name":"HsuanYuLee/polaris","owner":"HsuanYuLee","description":"A Claude Code workspace template with AI skills for JIRA, PRs, code review, estimation, and daily standups","archived":false,"fork":false,"pushed_at":"2026-06-09T03:11:05.000Z","size":9636,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-06-09T05:10:37.567Z","etag":null,"topics":["ai-workflows","claude-code","claude-skills","developer-tools","jira-automation"],"latest_commit_sha":null,"homepage":null,"language":"Shell","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/HsuanYuLee.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","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-03-28T07:22:38.000Z","updated_at":"2026-06-09T03:11:09.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/HsuanYuLee/polaris","commit_stats":null,"previous_names":["hsuanyulee/polaris"],"tags_count":514,"template":false,"template_full_name":null,"purl":"pkg:github/HsuanYuLee/polaris","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HsuanYuLee%2Fpolaris","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HsuanYuLee%2Fpolaris/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HsuanYuLee%2Fpolaris/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HsuanYuLee%2Fpolaris/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/HsuanYuLee","download_url":"https://codeload.github.com/HsuanYuLee/polaris/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/HsuanYuLee%2Fpolaris/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34278154,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-13T02:00:06.617Z","response_time":62,"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-workflows","claude-code","claude-skills","developer-tools","jira-automation"],"created_at":"2026-04-02T18:26:47.806Z","updated_at":"2026-06-13T09:01:19.781Z","avatar_url":"https://github.com/HsuanYuLee.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs-manager/src/assets/polaris-logo.png\" alt=\"Polaris\" width=\"320\"\u003e\n\u003c/p\u003e\n\n# Polaris\n\nEnglish | [中文](./README.zh-TW.md)\n\nPolaris is a Claude Code / Codex workspace harness for teams that run work through JIRA, GitHub, Slack, and Confluence. It gives your coding agent durable workflow skills, local team context, deterministic gates, and a learning loop so it follows your operating model instead of improvising every session.\n\nPolaris is intentionally an add-on layer. It owns framework instructions, skills, hooks, and ignored local company context under `{company}/`; product repositories keep ownership of their tracked `CLAUDE.md`, `AGENTS.md`, `.github/**`, and repo-owned AI configuration.\n\n## What You Can Do\n\n| Workflow | Prompt | Outcome |\n|---|---|---|\n| Build from a ticket | `work on PROJ-123` / `做 PROJ-123` | Reads JIRA, checks prerequisites, estimates, branches, implements, tests, and opens a PR |\n| Diagnose a bug | `fix bug PROJ-456` / `修 bug PROJ-456` | Finds root cause, proposes the fix, verifies behavior, and delivers the patch |\n| Review a PR | `review PR` / `review 這個 PR` | Reads the diff and leaves inline review comments grounded in project rules |\n| Plan a sprint | `sprint planning` / `排 sprint` | Pulls backlog, checks capacity, detects carry-over, and drafts release planning output |\n| Generate standup | `standup` | Collects JIRA, git, and calendar activity into a team update |\n| Learn from sources | `learn from \u003curl\u003e` / `學習這個 \u003curl\u003e` | Studies external material or merged PRs and turns useful patterns into workspace knowledge |\n\nStart with one workflow. The full skill catalog is available in [Developer Workflow Guide](docs/workflow-guide.md) and [Chinese Triggers](docs/chinese-triggers.md).\n\n## How Polaris Works\n\nPolaris organizes agent behavior into three layers:\n\n| Layer | Source | Purpose |\n|---|---|---|\n| Workspace | `CLAUDE.md`, `.claude/rules/`, `.claude/skills/` | Shared strategist behavior, skills, hooks, and deterministic rules |\n| Company | ignored `.claude/rules/{company}/`, `{company}/workspace-config.yaml` | Company-specific JIRA, Slack, GitHub, and workflow conventions |\n| Project | ignored `{company}/polaris-config/{project}/handbook/` | Repo handbook, generated scripts, test commands, runtime hints, and local context |\n| User local | ignored `user/tools/` | Personal workstation utilities; not a company and not runtime-discovered |\n\nSkills load only when triggered. Rules and hooks provide the always-on guardrails: language policy, safety checks, PR body validation, task artifact validation, context continuity, and workflow gates.\n\n## Governance Philosophy\n\nPolaris treats governance as a framework concern, not a per-session preference.\n\n- Prefer strong constraints over advisory prose whenever a contract can be enforced mechanically.\n- When a workflow or artifact can share one canonical shape, use one canonical shape across runtimes and lanes.\n- Do not keep special writer paths for the same authoritative surface.\n- When required authority inputs are missing, fail closed instead of improvising.\n\nProof-of-work markers follow the same rule. Completion-sensitive evidence under `.polaris/evidence/` must be written by the owning producer declared in `scripts/lib/evidence-producers.json`; hooks and gates block direct JSON patching, stale `/tmp`-only pass markers, and auto-pass writing its own proof.\n\nFor locked/current DP-backed framework work, `auto-pass DP-NNN` is the canonical main-chain entry. It dispatches `breakdown -\u003e engineering -\u003e verify-AC`, stops at workspace PR ready plus current verification disposition, produces a durable report, and leaves merge, sync-to-Polaris, tagging, GitHub release, and closeout to framework-release.\n\nThis is why Polaris keeps pushing quality-critical workflow rules into shared scripts, hooks, validators, and generated runtime targets instead of relying on LLM discipline alone.\n\n## Requirements\n\nEveryone needs:\n\n- [Claude Code](https://docs.anthropic.com/en/docs/claude-code) or Codex configured with [Polaris for Codex](docs/codex-quick-start.md)\n- Atlassian MCP for JIRA and Confluence\n- Slack MCP for notifications, standups, and review workflows\n\nUse a coding-agent runtime from the workspace root, not the ordinary browser chat. The prompts below are typed into Claude Code or Codex conversations.\n\nDevelopers also need:\n\n- Git\n- GitHub CLI (`gh`) authenticated with the organization\n- Local Polaris toolchain readiness through the root public tasks `mise run bootstrap` and `mise run doctor -- --profile runtime`. The managed runtime covers Node \u003e= 22.12.0, pnpm 10.10.0, Python 3.12, rg, jq, Playwright, Mockoon, and the docs viewer. Legacy compatibility docs may still mention `bash scripts/polaris-toolchain.sh doctor --required`; new workspaces should start with public task commands.\n\nOptional integrations:\n\n- Google Calendar MCP for meeting-aware standups\n- Figma MCP for tickets that reference designs\n\nMost multi-step workflows use sub-agents. In Claude Code, that requires the Max plan or API access.\n\n### MCP Setup\n\nClaude Code can connect MCP servers through `/mcp`:\n\n- Slack: `https://mcp.slack.com/mcp`\n- Atlassian: `https://mcp.atlassian.com/v1/mcp`\n\nCodex can mirror the same connectors:\n\n```bash\ncodex mcp add claude_ai_Slack --url https://mcp.slack.com/mcp\ncodex mcp add claude_ai_Atlassian --url https://mcp.atlassian.com/v1/mcp\ncodex mcp login claude_ai_Slack\ncodex mcp login claude_ai_Atlassian\ncodex mcp list\n```\n\nLegacy stdio `npx @anthropic-ai/claude-code-mcp-*` setup is deprecated in this framework.\n\n## Quick Start\n\n### 1. Create a workspace\n\nUse the [Polaris template repo](https://github.com/HsuanYuLee/polaris) on GitHub, then clone your new workspace:\n\n```bash\ngit clone https://github.com/YOUR-ORG/your-polaris-workspace ~/polaris-workspace\ncd ~/polaris-workspace\n```\n\nChoose a dedicated directory name. Avoid `~/work` if you already use that path for product repositories.\n\nBefore onboarding, bootstrap and verify the local runtime toolchain through public tasks:\n\n```bash\nmise run bootstrap\nmise run doctor -- --profile runtime\n```\n\nIf the doctor reports missing tools, follow its repair command and rerun the doctor:\n\n```bash\nmise run doctor -- --profile runtime\n```\n\nThe public task surface is `bootstrap`, `doctor`, `doctor-mise`, `onboard-doctor`, `release-preflight`, `pr-create`, `spec-close-parent`, `script-audit`, `docs-health`, `verify`, and `cross-runtime-sync`.\n\nRoot `pnpm` scripts are thin aliases for common framework commands. They do not replace the public task surface; the script manifest and command catalog remain the governance source:\n\n```bash\npnpm viewer:status\npnpm scripts:check\npnpm commands:check\n```\n\n### 2. Onboard your company\n\nOpen Claude Code or Codex from the workspace root, then type this into the agent conversation:\n\n```text\nonboard Polaris workspace for my company\n```\n\nThe onboard flow detects your GitHub org and repos, creates ignored company context, maps JIRA keys to local repos, and finishes with a readiness dashboard: `ready`, `partial`, or `blocked`.\n\nIf the dashboard is not `ready`, run:\n\n```text\nonboard repair\n```\n\n### 3. Try one real workflow\n\nUse a real ticket key from your JIRA project:\n\n```text\nwork on PROJ-123\n```\n\nPMs and Scrum Masters can start with:\n\n```text\nstandup\n```\n\nFor a role-specific setup checklist, see [PM Setup Checklist](docs/pm-setup-checklist.md). For Codex runtime setup, see [Polaris for Codex](docs/codex-quick-start.md).\n\n## Repository Layout\n\n```text\nyour-workspace/\n├── CLAUDE.md                  # Strategist instructions\n├── AGENTS.md                  # Generated runtime bootstrap for coding agents\n├── workspace-config.yaml      # Local company routing, ignored by git\n├── .claude/\n│   ├── rules/                 # Universal and company-scoped rules\n│   └── skills/                # Workflow skills\n├── docs/                      # Public guides\n├── scripts/                   # Deterministic gates and workflow helpers\n├── user/                      # Ignored user-local tools, notes, and scratch files\n│   └── tools/\n└── {company}/                 # Ignored local company context\n    ├── workspace-config.yaml\n    ├── polaris-config/\n    │   └── {project}/handbook/\n    └── {project}/             # Product repo; repo-owned files stay owned by the repo\n```\n\n## Guides\n\n| Need | Read |\n|---|---|\n| Full developer lifecycle | [Developer Workflow Guide](docs/workflow-guide.md) |\n| Chinese trigger phrases | [Chinese Triggers](docs/chinese-triggers.md) |\n| PM and non-developer setup | [PM Setup Checklist](docs/pm-setup-checklist.md) |\n| Codex setup | [Polaris for Codex](docs/codex-quick-start.md) |\n| Traditional Chinese quick start | [中文快速上手](docs/quick-start-zh.md) |\n\n## Customization\n\nSafe places to customize:\n\n| What | Where |\n|---|---|\n| Company routing and integrations | `{company}/workspace-config.yaml` |\n| Company workflow conventions | `.claude/rules/{company}/` |\n| Project handbook and generated scripts | `{company}/polaris-config/{project}/` |\n| Company-local helper scripts | `{company}/polaris-config/tools/` |\n| Personal workstation utilities | `user/tools/` |\n| New workflow skills | Use `skill-creator` |\n\nFramework internals such as `.claude/skills/*/SKILL.md`, `.claude/skills/references/`, `.claude/rules/*.md`, hooks, and scripts should only be changed when you are modifying Polaris itself.\nRoot `scripts/` is only for framework-supported utilities that are releaseable and governed by the script manifest; company-only helpers and personal utilities belong in the ignored local surfaces above.\n\n## Upgrading\n\nTo pull framework updates from a Polaris template checkout:\n\n```bash\n./scripts/sync-from-polaris.sh --polaris ~/path-to-polaris-template --dry-run\n./scripts/sync-from-polaris.sh --polaris ~/path-to-polaris-template\n```\n\nThe sync preserves ignored company context, company rules, and project-specific files. Apply mode also runs cross-runtime parity checks for Claude Code and Codex.\n\n## Security\n\nPolaris is designed for local-first operation:\n\n- No telemetry, analytics, or usage reporting\n- No framework phone-home behavior\n- Local storage for memories, learnings, timelines, and checkpoints\n- Shell-level safety hooks for dangerous commands\n- Workspace language gates before downstream PR, JIRA, Slack, Confluence, commit, and release prose\n- Plaintext skills, rules, and scripts that can be audited in git\n\nNetwork activity comes from tools you explicitly invoke, such as git, `gh`, JIRA, Slack, Confluence, or MCP connectors.\n\n## Acknowledgements\n\nPolaris draws inspiration from these open-source projects:\n\n| Project | Author | What we learned |\n|---|---|---|\n| [superpowers](https://github.com/obra/superpowers) | Jesse Vincent | Agentic skills framework, spec-first development, sub-agent task division |\n| [ab-dotfiles](https://github.com/AlvinBian/ab-dotfiles) | Alvin Bian | AI-driven dev environment management, onboarding smartSelect interaction, audit trail |\n| [get-shit-done](https://github.com/gsd-build/get-shit-done) | TÂCHES | Context engineering patterns, goal-backward verification, sub-agent completion envelope, complexity tier routing |\n| [skill-sanitizer](https://github.com/cyberxuan-XBX/skill-sanitizer) | cyberxuan-XBX | Pre-LLM security scanning, code block context awareness, severity scoring with false-positive reduction |\n| [Kubernetes](https://github.com/kubernetes/kubernetes), [Vite](https://github.com/vitejs/vite), [VS Code](https://github.com/microsoft/vscode), [Home Assistant](https://github.com/home-assistant/core) | OSS communities | README structure: concise project identity, role-based entry points, short setup path, and links to detailed docs |\n\n## License\n\n[MIT](LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhsuanyulee%2Fpolaris","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhsuanyulee%2Fpolaris","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhsuanyulee%2Fpolaris/lists"}