Skip to content

Repository files navigation

CP Ally IDE — Web Companion

Landing page and curated problem sheets for CP Ally IDE, the unofficial partner code editor for competitive programming on CodeForces.

Latest release Status License Stars

Next.js React TypeScript Tailwind CSS


What is CP Ally IDE?

CP Ally IDE is an unofficial desktop code editor purpose-built for competitive programming on CodeForces. Instead of a general-purpose IDE, it bundles exactly the contest loop into one window — because mid-contest, speed matters more than general-purpose IDE features.

  • 🔎 Fetch by problem code — type a contest code like 2208A and pull the problem from CodeForces.
  • 📄 Faithful rendering — statements render with HTML, icons, and LaTeX.
  • ⌨️ Syntax-highlighted editor — a compact split layout: statement on the left, code on the right.
  • ▶️ Run locally — execute against the extracted sample tests or your own custom cases, with case-insensitive YES/NO judging.
  • 💾 Caching that remembers — statements cache for fast reloads; your code is preserved per problem and per language.
  • 🪟 Persistent workspace — window state, divider positions, and the last language are restored.

The desktop app is a Java / Swing application built with Maven, and lives in its own repository: 👉 github.com/0xPolybit/cp-ally-ide

Beta: the app is under active development and may be prone to bugs and crashes.


Install & use the desktop app

The app is distributed from the main repository's Releases page.

Option A — Download a release

  1. Make sure you have a recent Java Runtime (JRE 17+) installed.
  2. Download the latest build from the Releases page.
  3. Launch it (double-click the packaged app, or run the jar):
    java -jar cp-ally-ide.jar

Option B — Build from source

Requires JDK 17+ and Maven.

git clone https://github.com/0xPolybit/cp-ally-ide.git
cd cp-ally-ide
mvn clean package
java -jar target/*.jar

The five-step workflow

  1. Enter the code — a contest code and index, e.g. 2208A.
  2. Fetch — pull the statement and sample tests from CodeForces.
  3. Read — study the rendered problem in the left panel.
  4. Write — code your solution in the editor on the right.
  5. Run — judge it locally against the samples.

This repository — the web companion

This repo (cp-ally-landing) is the marketing site + problem sheets for CP Ally IDE. It is a Next.js app (App Router, Tailwind CSS v4, TypeScript) and includes:

  • Landing page — what CP Ally IDE is, its features, and the workflow.
  • Problem sheets (/sheets) — curated, rating-laddered CodeForces problem sets by topic (Beginners, Number Theory, Bit Manipulation, Dynamic Programming, Strings, Hashing, Sorting, Mathematics).
  • Progress tracking — enter your CodeForces handle and each problem row is tinted by verdict (solved / wrong / attempted), with a "show only unsolved" filter.
  • Open in app — every problem has an cpally://problem/<code> deep link that opens it directly in the desktop app.

Run it locally

git clone https://github.com/0xPolybit/cp-ally-landing.git
cd cp-ally-landing
npm install
npm run dev

Open http://localhost:3000.

Scripts

Script Description
npm run dev Start the dev server (Turbopack)
npm run build Production build
npm run start Serve the production build
npm run lint Lint with ESLint

Configuration

Set your production origin so sitemap.xml, robots.txt, and Open Graph URLs resolve correctly:

# .env
NEXT_PUBLIC_SITE_URL=https://your-domain.example

Project structure

app/
├─ _components/        UI components (header, hero, tracker, modal, table…)
├─ _data/              Sheet registry + per-topic problem lists
├─ api/cf-status/      CodeForces verdict proxy (handle → per-problem status)
├─ sheets/             Sheets directory + dynamic /sheets/[slug] pages
├─ layout.tsx          Root layout, fonts, metadata
└─ page.tsx            Landing page

Credits

Built by Swastik Biswas, with contributions from Himanshi Saxena.

Licensed under the Apache License 2.0 — see the main repository for details.

CP Ally IDE is an unofficial tool and is not affiliated with or endorsed by CodeForces.

About

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages