feat: add ISSLOP AI usage analysis CLI commands, game router, and politics topic

- Add `cmd_isslop_prune`, `cmd_isslop_clear`, `cmd_isslop_analyze` CLI commands for AI usage analysis job management
- Register `/game` router with `index` and `farm` endpoints for Code Farm idle game
- Add `politics` to allowed TOPICS constant replacing `signals`
- Introduce `ISSLOP_DIR`, `ISSLOP_WORKSPACES_DIR`, `ISSLOP_RUNS_DIR`, `ISSLOP_MEDIA_DIR` config paths
- Add `clear_user_stars` and `clear_user_projects_cache` calls on vote and project create/delete
- Update `make prod` to use `nproc` workers via `DEVPLACE_WEB_WORKERS` env var
- Convert `database.py` and `utils.py` to packages for modular structure
- Add `devplace apikey` and `devplace token` CLI subcommands for API key and access token management
This commit is contained in:
2026-07-06 03:57:47 +00:00
parent f1bdefd834
commit 9a8046ab2a
110 changed files with 1466 additions and 374 deletions
+1 -1
View File
@@ -510,7 +510,7 @@ img {
.badge-rant { background: var(--topic-rant); color: var(--white); }
.badge-fun { background: var(--topic-fun); color: #000; }
.badge-random { background: var(--border-light); color: var(--text-secondary); }
.badge-signals { background: var(--topic-signals); color: var(--white); }
.badge-politics { background: var(--topic-politics); color: var(--white); }
.avatar {
width: 40px;
+91
View File
@@ -681,3 +681,94 @@ pre.code-pre > .code-gutter {
border-top: 1px solid var(--border);
text-align: center;
}
.docs-content h2[id],
.docs-content h3[id] {
scroll-margin-top: 80px;
}
.docs-heading-anchor {
margin-left: 8px;
color: var(--text-muted);
text-decoration: none;
font-weight: 400;
opacity: 0;
transition: opacity 0.15s ease;
}
.docs-content h2:hover .docs-heading-anchor,
.docs-content h3:hover .docs-heading-anchor {
opacity: 1;
}
.docs-heading-anchor:hover {
color: var(--accent);
}
.docs-toc {
margin: 0 0 24px;
padding: 20px;
background: var(--bg-card);
border: 1px solid var(--border);
border-radius: var(--radius-lg);
}
.docs-toc-heading {
margin: 0 0 14px;
font-size: 1.05rem;
font-weight: 700;
color: var(--text-primary);
}
.docs-toc-grid {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
gap: 10px;
list-style: none;
margin: 0;
padding: 0;
}
.docs-toc-item a {
display: flex;
flex-direction: column;
gap: 4px;
height: 100%;
padding: 12px 14px;
background: var(--bg-secondary);
border: 1px solid var(--border);
border-radius: var(--radius);
text-decoration: none;
transition: background 0.15s ease, border-color 0.15s ease;
}
.docs-toc-item a:hover {
background: var(--bg-card-hover);
border-color: var(--border-light);
}
.docs-toc-title {
display: flex;
align-items: center;
justify-content: space-between;
gap: 8px;
color: var(--text-primary);
font-weight: 600;
font-size: 0.92rem;
}
.docs-toc-count {
flex-shrink: 0;
padding: 1px 8px;
border-radius: 999px;
background: var(--accent-light);
color: var(--accent);
font-size: 0.72rem;
font-weight: 700;
white-space: nowrap;
}
.docs-toc-summary {
color: var(--text-secondary);
font-size: 0.82rem;
}
+1 -1
View File
@@ -62,7 +62,7 @@
--topic-question: #448aff;
--topic-rant: #ff5252;
--topic-fun: #ffab00;
--topic-signals: #00bcd4;
--topic-politics: #00bcd4;
--bg-gradient: linear-gradient(135deg, #080413 0%, #160a28 50%, #080413 100%);
}