{"id":50431242,"url":"https://github.com/luncliff/politics-agents","last_synced_at":"2026-05-31T14:30:29.101Z","repository":{"id":354902415,"uuid":"1225684956","full_name":"luncliff/politics-agents","owner":"luncliff","description":null,"archived":false,"fork":false,"pushed_at":"2026-05-26T02:49:55.000Z","size":6121,"stargazers_count":1,"open_issues_count":5,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-26T04:31:22.519Z","etag":null,"topics":["ai-generated","ai-generated-code"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/luncliff.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2026-04-30T14:27:50.000Z","updated_at":"2026-05-15T19:54:39.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/luncliff/politics-agents","commit_stats":null,"previous_names":["luncliff/my-politics-agents","luncliff/politics-agents"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/luncliff/politics-agents","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luncliff%2Fpolitics-agents","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luncliff%2Fpolitics-agents/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luncliff%2Fpolitics-agents/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luncliff%2Fpolitics-agents/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/luncliff","download_url":"https://codeload.github.com/luncliff/politics-agents/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luncliff%2Fpolitics-agents/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33735663,"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-05-31T02:00:06.040Z","response_time":95,"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-generated","ai-generated-code"],"created_at":"2026-05-31T14:30:28.578Z","updated_at":"2026-05-31T14:30:29.094Z","avatar_url":"https://github.com/luncliff.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# politics-agents\n\n대한민국 지방정치에 참여하려는 시민을 위한 다중 에이전트 도구 모음.\n\n- 자료를 수집·정제해 인용 가능한 문서로 만들기(자산화)\n- GitHub Copilot CLI · VS Code Copilot Chat · Codex CLI · Claude Code에서 같은 자산을 공유\n- Google NotebookLM 연동으로 음성·Q\u0026A 열람\n\n모든 자격증명·캐시·결과물은 로컬에 남고 외부로 자동 전송되지 않습니다. 전역 설치가 필요하면 항상 동의를 먼저 묻습니다.\n\n## How To\n\n### Setup\n\n사전 준비:\n\n| 항목 | Windows | macOS |\n| --- | --- | --- |\n| Git | `winget install Git.Git` | `brew install git` |\n| VS Code | `winget install Microsoft.VisualStudioCode` | `brew install --cask visual-studio-code` |\n| PowerShell 7 | `winget install Microsoft.PowerShell` | (불필요) |\n\n저장소를 받고 환경 설정 스크립트를 실행합니다. 스크립트는 무엇을 설치할지 보여주고 동의를 받습니다. 미리 보려면 `-DryRun` / `--dry-run`.\n\n```pwsh\n# Windows (PowerShell 7)\ngit clone https://github.com/luncliff/politics-agents.git\ncd politics-agents\npwsh -ExecutionPolicy Bypass -File scripts/setup.ps1\n```\n\n```zsh\n# macOS (zsh)\ngit clone https://github.com/luncliff/politics-agents.git\ncd politics-agents\nzsh scripts/setup.sh\n```\n\n설치 후보: Node 24 LTS, `gh`, `@github/copilot`, [`uv`](https://docs.astral.sh/uv/), (선택) Java 11+, Rancher Desktop. `보관함/legalize-kr` 등 연관 저장소는 shallow clone으로 준비됩니다. GitHub CLI 로그인은 `gh auth login`.\n\n### Use with Copilot CLI\n\n```pwsh\ncopilot\ncopilot --continue\n```\n\n세션 시작 시 정책 배너가 출력되고, 위험 명령은 차단/경고됩니다. `chat.tools.urls.autoApprove` · `chat.tools.terminal.autoApprove` 화이트리스트는 VS Code와 공유됩니다.\n\n자주 쓰는 호출:\n\n```pwsh\ncopilot --model=auto --allow-all-urls --add-dir . --prompt \"/find-night-clinic with current location.txt\"\n```\n\n### Release Tag\n\nGit tag는 HeadVer (`{head}.{yearweek}.{build}`) 형식을 사용합니다. 태그 문자열이 필요하면 LINE [headver](https://github.com/line/headver) 의 PowerShell 예제를 고정 commit raw URL로 임시 파일에 내려받아 실행합니다.\n\n```pwsh\n$uri = \"https://raw.githubusercontent.com/line/headver/6ed931631cfe18a17518271432abda293ae18228/examples/headver.ps1\"\n$temp = Join-Path ([System.IO.Path]::GetTempPath()) (\"headver-{0}.ps1\" -f [guid]::NewGuid().ToString(\"N\"))\ntry {\n    Invoke-WebRequest -Uri $uri -OutFile $temp -ErrorAction Stop\n    pwsh -NoProfile -File $temp -Head 0 -Build 0\n} finally {\n    if (Test-Path $temp) {\n        Remove-Item $temp -Force\n    }\n}\n```\n\n새 tag를 원격에 push하면 GitHub Actions가 같은 이름의 prerelease를 자동 생성합니다.\n\n### Use with Codex CLI\n\n같은 워크스페이스의 `agents/`·`.agents/skills/`·`.github/prompts/`·`.vscode/mcp.json`을 그대로 사용합니다.\n\n1. 저장소 루트에서 Codex 세션을 시작합니다(워크스페이스 트러스트 필수).\n2. 첫 응답에서 [AGENTS.md](AGENTS.md)의 규칙(특히 citation·PII·destructive command 가드)을 따르는지 확인합니다.\n3. MCP 서버는 `.vscode/mcp.json` 정의를 그대로 사용하므로 Codex 측 자격증명만 별도 점검합니다.\n4. 세션 종료 직전 `write-retro` 스킬을 호출해 회고를 남깁니다.\n\n### Use with Claude Code\n\n- Subagents: `.claude/agents/*.md` (lawyer, ordinance, gov-researcher, persona-panel, minutes, party-advisor)\n- Slash commands: `.claude/commands/*.md` (`/retro`, `/brief`, `/persona-review`, `/collect`, `/health`, `/diagnose-prompts`, `/improve-harness`, `/track-goals`)\n- Hooks: `.claude/settings.json` (SessionStart, Stop, PreToolUse Bash 가드)\n- MCP: `.mcp.json`\n\n상세 채널 설정은 [문서/channels.md](문서/channels.md).\n\n### Use in VS Code\n\n1. `code .` 으로 워크스페이스 열기.\n2. 권장 확장 설치 알림이 뜨면 모두 설치.\n3. `Ctrl+Shift+P` → `Tasks: Run Task` 에서 작업 선택.\n\n| Task | 동작 |\n| --- | --- |\n| `civic: setup` | 환경 설정(또는 변경 후 재실행) |\n| `civic: copilot session continue` | Copilot CLI 세션 시작(정책 배너 포함) |\n| `civic: notebooklm login` | NotebookLM 브라우저 로그인/세션 갱신 |\n| `civic: notebooklm doctor` | NotebookLM CLI/MCP 상태 점검 |\n| `civic: notebooklm notebook list` | 연결된 NotebookLM 노트북 목록 조회 |\n| `civic: lint prompts/skills` | 프롬프트·스킬 형식 검사 |\n| `civic: auth-purge` | 자격증명·로컬 캐시 정리 |\n| `civic: fetch nemotron personas (download)` | Nemotron-Personas-Korea parquet 다운로드 |\n| `civic: sample nemotron panel (national 600)` | 전국 시민 페르소나 패널 600명 추출 |\n| `civic: sample nemotron panel (local from location.txt)` | 지역 시민 페르소나 패널 300명 추출 |\n\n채팅창 자연어 예시:\n\n- \"최근 한 달치 OO시의회 본회의 회의록을 받아서 표결 결과 표로 정리해줘\"\n- \"이 조례안의 쟁점을 사실/해석으로 나눠 한 페이지 브리핑으로 만들어줘\"\n- \"/persona-review 보관함/결과/\u003c문서경로\u003e both 10\"\n\n위험한 명령(파일 삭제·외부 호출)은 확인 다이얼로그가 뜹니다. 같은 도메인을 한 번 허용하면 다음부터 자동 승인됩니다.\n\n## Result Locations\n\n| 폴더 | 내용 |\n| --- | --- |\n| `보관함/다운로드/` | 원본 그대로 (수정·삭제 금지) |\n| `보관함/결과/` | 사람이 읽기 좋은 정제 Markdown |\n| `보관함/양식/` | 공문서 양식 · 작성 지침 보관 |\n| `notebooks/\u003cslug\u003e/` | NotebookLM 업로드 묶음 |\n| `회고/` | 매 세션 회고 — 다음 사용 시 참고 |\n\n## Documentation\n\n| 대상 | 문서 |\n| --- | --- |\n| Agent 규칙 (저장소 전체) | [AGENTS.md](AGENTS.md) |\n| 문서 폴더 규칙 | [문서/AGENTS.md](문서/AGENTS.md) |\n| 채널별 설정 | [문서/channels.md](문서/channels.md) |\n| 보안 정책 | [SECURITY.md](SECURITY.md) |\n| 지역 참조 자료 | [문서/참고자료-경기도-성남시.md](문서/참고자료-경기도-성남시.md) |\n\n## License\n\n코드와 문서는 **CC0 1.0 Universal**(공공도메인 헌정). [LICENSE](LICENSE) 참조.\nHeadVer 계산에 쓰는 LINE `headver` PowerShell 예제 스크립트는 upstream Apache-2.0 라이선스를 따릅니다.\n수집된 정부 자료는 별도 라이선스(공공누리 등)를 따르며, 산출물에 출처를 명시합니다.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluncliff%2Fpolitics-agents","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fluncliff%2Fpolitics-agents","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluncliff%2Fpolitics-agents/lists"}