ccwrap 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +99 -0
  3. package/dist/cli.d.ts +1 -0
  4. package/dist/cli.js +181 -0
  5. package/dist/data/commentary.d.ts +13 -0
  6. package/dist/data/commentary.js +102 -0
  7. package/dist/data/parser.d.ts +2 -0
  8. package/dist/data/parser.js +358 -0
  9. package/dist/data/types.d.ts +109 -0
  10. package/dist/data/types.js +1 -0
  11. package/dist/render.d.ts +2 -0
  12. package/dist/render.js +60 -0
  13. package/dist/video/Composition.d.ts +8 -0
  14. package/dist/video/Composition.js +50 -0
  15. package/dist/video/Root.d.ts +2 -0
  16. package/dist/video/Root.js +81 -0
  17. package/dist/video/components/AnimatedNumber.d.ts +10 -0
  18. package/dist/video/components/AnimatedNumber.js +16 -0
  19. package/dist/video/components/FadeIn.d.ts +8 -0
  20. package/dist/video/components/FadeIn.js +18 -0
  21. package/dist/video/components/GlowOrb.d.ts +8 -0
  22. package/dist/video/components/GlowOrb.js +19 -0
  23. package/dist/video/components/ParticleField.d.ts +5 -0
  24. package/dist/video/components/ParticleField.js +36 -0
  25. package/dist/video/index.d.ts +1 -0
  26. package/dist/video/index.js +3 -0
  27. package/dist/video/slides/ArchetypeSlide.d.ts +7 -0
  28. package/dist/video/slides/ArchetypeSlide.js +34 -0
  29. package/dist/video/slides/BusiestDaySlide.d.ts +7 -0
  30. package/dist/video/slides/BusiestDaySlide.js +23 -0
  31. package/dist/video/slides/CostSlide.d.ts +7 -0
  32. package/dist/video/slides/CostSlide.js +12 -0
  33. package/dist/video/slides/IntroSlide.d.ts +5 -0
  34. package/dist/video/slides/IntroSlide.js +21 -0
  35. package/dist/video/slides/ModelSlide.d.ts +7 -0
  36. package/dist/video/slides/ModelSlide.js +45 -0
  37. package/dist/video/slides/PeakHoursSlide.d.ts +7 -0
  38. package/dist/video/slides/PeakHoursSlide.js +48 -0
  39. package/dist/video/slides/SessionSlide.d.ts +7 -0
  40. package/dist/video/slides/SessionSlide.js +22 -0
  41. package/dist/video/slides/SummarySlide.d.ts +7 -0
  42. package/dist/video/slides/SummarySlide.js +52 -0
  43. package/dist/video/slides/TokensSlide.d.ts +7 -0
  44. package/dist/video/slides/TokensSlide.js +25 -0
  45. package/dist/video/styles.d.ts +45 -0
  46. package/dist/video/styles.js +84 -0
  47. package/package.json +58 -0
@@ -0,0 +1,84 @@
1
+ // Color palettes
2
+ const sassyColors = {
3
+ bg: "#0a0a0f",
4
+ bgGradient1: "#0f0c29",
5
+ bgGradient2: "#302b63",
6
+ bgGradient3: "#24243e",
7
+ primary: "#7c3aed",
8
+ secondary: "#06b6d4",
9
+ accent: "#f43f5e",
10
+ gold: "#f59e0b",
11
+ green: "#10b981",
12
+ pink: "#ec4899",
13
+ text: "#f1f5f9",
14
+ textMuted: "#b0bec5",
15
+ textDim: "#8b8fa3",
16
+ };
17
+ const darkColors = {
18
+ bg: "#050505",
19
+ bgGradient1: "#0a0000",
20
+ bgGradient2: "#1a0a0a",
21
+ bgGradient3: "#0f0505",
22
+ primary: "#dc2626",
23
+ secondary: "#a8a29e",
24
+ accent: "#ef4444",
25
+ gold: "#b45309",
26
+ green: "#059669",
27
+ pink: "#e11d48",
28
+ text: "#d6d3d1",
29
+ textMuted: "#a8a29e",
30
+ textDim: "#8a8580",
31
+ };
32
+ export function getColors(mode) {
33
+ return mode === "dark" ? darkColors : sassyColors;
34
+ }
35
+ export const colors = sassyColors;
36
+ export const fonts = {
37
+ heading: "Inter, system-ui, sans-serif",
38
+ body: "Inter, system-ui, sans-serif",
39
+ mono: "'JetBrains Mono', 'Fira Code', monospace",
40
+ };
41
+ // Base slide layout - 900x900 square
42
+ export const baseSlide = {
43
+ width: "100%",
44
+ height: "100%",
45
+ display: "flex",
46
+ flexDirection: "column",
47
+ alignItems: "center",
48
+ justifyContent: "center",
49
+ fontFamily: fonts.heading,
50
+ color: "#f1f5f9",
51
+ overflow: "hidden",
52
+ position: "relative",
53
+ padding: "50px 55px",
54
+ };
55
+ export const gradientBg = (angle, c) => ({
56
+ background: `linear-gradient(${angle}deg, ${c.bgGradient1}, ${c.bgGradient2}, ${c.bgGradient3})`,
57
+ });
58
+ export const glowText = (color) => ({
59
+ textShadow: `0 0 12px ${color}80, 0 0 24px ${color}40, 0 0 48px ${color}20`,
60
+ });
61
+ export const bigNumber = {
62
+ fontSize: 130,
63
+ fontWeight: 900,
64
+ lineHeight: 1,
65
+ letterSpacing: "-0.03em",
66
+ };
67
+ export const label = {
68
+ fontSize: 18,
69
+ fontWeight: 600,
70
+ textTransform: "uppercase",
71
+ letterSpacing: "0.15em",
72
+ };
73
+ export const memeCaption = {
74
+ fontSize: 18,
75
+ fontWeight: 400,
76
+ fontStyle: "italic",
77
+ marginTop: 28,
78
+ maxWidth: 650,
79
+ textAlign: "center",
80
+ lineHeight: 1.5,
81
+ padding: "8px 18px",
82
+ borderRadius: 10,
83
+ background: "rgba(0,0,0,0.35)",
84
+ };
package/package.json ADDED
@@ -0,0 +1,58 @@
1
+ {
2
+ "name": "ccwrap",
3
+ "version": "0.1.0",
4
+ "description": "Claude Code Wrapped - Your AI coding stats, meme-ified into a shareable video",
5
+ "type": "module",
6
+ "license": "MIT",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "https://github.com/d-cs/ccwrapped.git"
10
+ },
11
+ "keywords": [
12
+ "claude",
13
+ "claude-code",
14
+ "wrapped",
15
+ "ai",
16
+ "stats",
17
+ "video",
18
+ "meme",
19
+ "remotion"
20
+ ],
21
+ "scripts": {
22
+ "build": "tsc && node scripts/add-shebang.js",
23
+ "start": "tsx src/cli.ts",
24
+ "preview": "remotion preview src/video/index.ts",
25
+ "render": "tsx src/cli.ts",
26
+ "prepublishOnly": "npm run build"
27
+ },
28
+ "bin": {
29
+ "ccwrap": "./dist/cli.js"
30
+ },
31
+ "files": [
32
+ "dist/**/*",
33
+ "README.md",
34
+ "LICENSE"
35
+ ],
36
+ "engines": {
37
+ "node": ">=18"
38
+ },
39
+ "dependencies": {
40
+ "@anthropic-ai/sdk": "^0.78.0",
41
+ "@remotion/bundler": "^4.0.0",
42
+ "@remotion/cli": "^4.0.0",
43
+ "@remotion/renderer": "^4.0.0",
44
+ "chalk": "^5.3.0",
45
+ "commander": "^12.0.0",
46
+ "glob": "^11.0.0",
47
+ "ora": "^8.0.0",
48
+ "react": "^18.3.0",
49
+ "react-dom": "^18.3.0",
50
+ "remotion": "^4.0.0"
51
+ },
52
+ "devDependencies": {
53
+ "@types/node": "^22.0.0",
54
+ "@types/react": "^18.3.0",
55
+ "tsx": "^4.0.0",
56
+ "typescript": "^5.6.0"
57
+ }
58
+ }