circleci
무료Diagnose CircleCI failures for a branch, PR, and scheduled nightly builds. Use when asked to check CI, a build, or nightly; report evidence and suggested fixes without opening a PR.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Look up junior.guru web analytics (traffic, pageviews, visitors, top pages, referrers, countries, UTM sources, devices, events) via public Simple Analytics, and Google search performance (queries, impressions, clicks, positions, CTR) from Search Console data saved in the repo. Use whenever a task needs data about website visits, page popularity, SEO, or what people search for.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
설치하기 전에 에이전트에게 전달되는 지시 내용을 확인할 수 있습니다.
Two complementary sources:
Search Console clicks roughly correspond to Simple Analytics visits with referrer google, but the numbers never match exactly (different counting, ad blockers, timezones).
junior.guru uses Simple Analytics. Stats are public, no login or API key needed:
https://simpleanalytics.com/junior.guru.jsonPrefer the API over scraping the dashboard.
Always send version=6 and info=false (skips verbose field descriptions). Pick what you need via fields:
curl -sSL "https://simpleanalytics.com/junior.guru.json?version=6&info=false&start=2026-09-01&end=2026-10-01&fields=pageviews,visitors,pages&limit=20"
pageviews, visitors.histogram with interval=hour|day|week|month|year.{value, pageviews, visitors}, sorted desc, capped by limit 1–1000): pages, referrers, countries, utm_sources, utm_mediums, utm_campaigns, utm_contents, utm_terms, browser_names, os_names, device_types.seconds_on_page: median time on page; also embedded into pages items.events=* or events=name1,name2. The only event currently sent from the site is github_profile_check (see src/jg/coop/js/github-profile.js).Dates:
start/end as YYYY-MM-DD or placeholders like today-30d, yesterday, today. Default is the last month.Europe/Prague. In practice end is exclusive: start=2026-09-01&end=2026-10-01 covers all of September. Check start/end echoed in the response to be sure.Filters: page, pages (comma-separated), country, referrer, utm_source, device_type, etc. Trailing * wildcards work, e.g. page=/jobs/*. Alternatively append the path to the URL: https://simpleanalytics.com/junior.guru/club.json?.... Contains-search (*foo*) needs an API key, which we don't use.
pages=/handbook,/handbook/,/handbook/*. The canonical section grouping lives in PRODUCTS in src/jg/coop/sync/web_usage.py (home, club, handbook, courses, jobs, candidates, …)./jobs (job board, by far the most traffic; city listings like /jobs/brno, individual jobs as /jobs/<hash id>), /handbook/*, /courses/* (course providers), /club, /stories/*, /podcast/*, /events/*.cz) and Slovakia (sk); top referrer is google.src/jg/coop/sync/web_usage.py: monthly pageviews per section, rendered at /about/web-usage (src/jg/coop/web/docs/about/web-usage.md).src/jg/coop/sync/course_providers.py: pageviews of /courses/* pages.src/jg/coop/models/job.py: builds a dashboard link filtered to one job (?search=paths:<id>&start=…&end=…).jg sync just to get analytics. Query the API directly.Synced by src/jg/coop/sync/search_console.py (uv run jg sync --no-deps search-console, ask before running). CI commits new files automatically.
src/jg/coop/data/search_console/
├── pages/YYYY-MM.jsonl # one row per page
└── queries/YYYY-MM.jsonl # one row per page × query
Row shapes:
{"page": "/handbook/", "clicks": 120, "impressions": 4500, "position": 8.21}
{"page": "/handbook/", "query": "jak se naučit programovat", "clicks": 12, "impressions": 345, "position": 7.46}
page — path on https://junior.guru (prefix stripped to save space). Any other URL Google reports (http://, www., subdomains) is kept in full.clicks — clicks from Google search results to the page.impressions — how many times the page appeared in search results.position — average ranking position (1 = top), weighted by impressions. Lower is better.clicks / impressions.How the data behaves:
pages/ totals are exact. queries/ totals are always lower: Google hides rare (anonymized) queries, and the sync drops rows with no clicks and fewer than 10 impressions to keep the repo small. Use pages/ for page totals, queries/ for what people searched.Loading, e.g. with DuckDB (uvx --with duckdb python -c "import duckdb; print(duckdb.sql(...))") or pandas:
SELECT regexp_extract(filename, '(\d{4}-\d{2})', 1) AS month, *
FROM read_json_auto('src/jg/coop/data/search_console/queries/*.jsonl', filename = true);
Useful questions to ask the data:
아직 리뷰가 없습니다. 사용해 본 소감을 남겨 주세요.
로그인 없이 쓸 수 있습니다. 사용 후기, 질문, 작동하지 않은 환경 등을 편하게 남겨 주세요.
아직 댓글이 없습니다. 첫 댓글을 남겨 보세요.
Diagnose CircleCI failures for a branch, PR, and scheduled nightly builds. Use when asked to check CI, a build, or nightly; report evidence and suggested fixes without opening a PR.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Implement or modify Python, JavaScript, SCSS, templates, CLI, HTTP, logging, or tests. Use for code changes that require architecture, style, testing, and verification conventions.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Write or edit Czech junior.guru handbook content under src/jg/coop/web/docs/handbook. Use for drafting, rewriting, structuring, or reviewing handbook pages while preserving their voice, inclusivity, practical focus, and brand style.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Add, edit, generate, or organize image assets under src/jg/coop/images. Use for avatars, logos, posters, thumbnails, interest icons, project images, image formats, dimensions, cropping, or generated-image directories.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Add or edit junior.guru interview stories and participant photos under src/jg/coop/web/docs/stories and src/jg/coop/images/avatars-participants. Use for importing an interview from Google Docs, formatting story Markdown, or preparing its portrait.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.
Create or edit Czech club-member tips in src/jg/coop/data/tips for Discord synchronization. Use for tip content, filenames, headings, emoji identity, symbolic Discord references, voice, or parser compatibility.
한국어 요약은 준비 중입니다. 원문 설명을 표시하고 있습니다.