emichaud/django-smallstack

A django starter for internal apps that leverages the include admin theme and components.

v0.12.3 2 1 forks 12 issues

Unreleased

1 commit
9aae746 v0.12.3: fix invisible status calendar/timeline cells on standalone pages

v0.12.3

1 commit
18b528b v0.12.2: maintenance-aware status + test robustness

v0.12.2

1 commit
0e663c6 v0.12.1: add merge-0.12.0 upgrade skill

v0.12.1

2 commits
90b8bfa docs(skills): add merge-0.12.0 upgrade skill
0902fe1 v0.12.0: pluggable status monitoring system

v0.12.0

15 commits
a4f1373 Merge remote-tracking branch 'origin/main'
c76558f Merge feat/pluggable-status-monitoring: pluggable status monitoring system
11d94a7 Remove temporary "Status Links (dev)" hub
ac24b33 Status round-3 fixes: decouple MCP/Search, daily-timeline today coloring, doctor flag-awareness
69dc206 Status module improvements and polish
3cb60b3 Merge branch 'main' into feat/pluggable-status-monitoring
89d3166 fix(explorer): detail grid/form rendered every boolean as ✓ regardless of value
72cc876 docs(skills): add testing skill (pytest, email/auth-flow/CRUDView patterns, gotchas)
4c01e6d test(auth): cover invite, passwordless, email login, create-with-password, guardrails
4b671b8 Merge branch 'feat/account-invites-passwordless'
29c0115 fix(usermanager): restore tabbed user form (v0.11.19 template-suffix regression)
a0ce6a3 feat(auth): enable username-or-email login (EmailOrUsernameBackend)
28d3f72 feat(usermanager): password-on-create, edit actions, guardrails; fix v0.11.19 template regression
2ee076e feat(accounts): invite-by-email, passwordless code login, branded emails
703571f v0.11.19: consolidate dashboard stat cards into one {% stat_card %} standard

v0.11.19

4 commits
5c9560e feat(activity): link usernames in the All Users drill-down to user detail
cd9b3bb feat(status): cap the SLA maintenance-windows table at 5 rows
0ee2047 style(admin): unify status pills onto a shared {% status_badge %} tag
fc46576 v0.11.18: clickable list rows, stat-card drill-down modals, table pagination

v0.11.18

2 commits
723e3f3 style(admin): unify stat tiles, hero actions, and titles across admin apps
c509040 v0.11.17: apps-dropdown redesign, home "four surfaces" + scheduler reorder, light-mode fixes

v0.11.17

1 commit
299c46d v0.11.16: editorial Getting Started redesign + Search section on Home

v0.11.16

1 commit
db8ac90 v0.11.15: API endpoints page, MCP filter fix, test-isolation + marker re-scoping

v0.11.15

1 commit
81e6e47 v0.11.14: pin test settings + hermetic dev-superuser test + v0.12 upgrade note

v0.11.14

1 commit
38c54fd v0.11.13: platform re-audit hardening — security, Postgres, CI, tables2 removal

v0.11.13

15 commits
ba0ad5d audit: log programmatic API/MCP writes + fix Django-6 log_action breakage (L9)
9a122b3 email: wire branded HTML reset email + SITE_NAME; test the surface (L4/L5/L6)
ca59d11 harden: dev-superuser DEBUG guard, atomic epoch reset, drop no-op DJANGO_DEBUG (L3/L10/I3)
aecaaec backup: record non-SQLite skip + treat retention<1 as disabled (L7/L8)
f2d5353 mcp: return -32600 for non-object JSON-RPC bodies instead of 500 (L2)
7e187d6 search: collision-resistant GIN index name + honest provisioning health (L1/I1/I2)
618f252 security: OAuth hardening — cap scope→role, atomic code redemption (M1/M2/L11)
a79757e test: make H4 backup test backend-agnostic (was SQLite-coupled)
67b910a security: fix v0.11.13 High audit findings (OAuth, token scope, backups, hosts)
6a3b1f1 ci: add GitHub Actions test workflow (SQLite + Postgres matrix + ruff)
069a4db docs(skills): add PostgreSQL skill set (setup, prod, testing, differences)
5dccc67 postgres: unblock setup + self-provision FTS for bundled models
a40c0e0 v0.12.0 prep (2/4): finish django-tables2 code removal
957fbee v0.12.0 prep (1/4): migrate usermanager off django-tables2
331ce94 search: fix tools/list visible-but-non-functional carry-over (v0.11.12)

v0.11.12

1 commit
13214d4 audit close-out: test brittleness + CONTRIBUTING + dead-doc cleanup + button drift (v0.11.11)

v0.11.11

1 commit
0563574 audit polish: hover sweep + MCP end-user doc + tools/list filtering + a11y (v0.11.10)

v0.11.10

1 commit
a8627df audit r3 close-out: MCP search gate, user-facing site doc, quality polish (v0.11.9)

v0.11.9

1 commit
2c27cdf audit r2: registry first-wins, lift search to auth, decouple scope, filter+order validation (v0.11.8)

v0.11.8

1 commit
3744d29 docs+devx: address audit findings 2-5 (v0.11.7)

v0.11.7

1 commit
5619e74 chore: release v0.11.6

v0.11.6

1 commit
d2e1337 search: defer FTS ensure_index past AppConfig.ready (v0.11.5)

v0.11.5

1 commit
28dafbc search: access audit report + admin badges + AI skill update (v0.11.4)

v0.11.4

1 commit
ad2f3a6 search: 3-level access model + public /search/ for help docs (v0.11.3)

v0.11.3

1 commit
d4299b8 search: per-view security model — staff gate + visibility filter (v0.11.2)

v0.11.2

1 commit
3fa5509 Editorial theme refresh + public search page + purple default (v0.11.1)

v0.11.1

9 commits
78a5e54 Update search docs + skills for vibe-coder workflow
bf96b09 Swagger-style collapsible source registry on search page
0426c95 test(search): make register_idempotent resilient to default opt-ins
eb4992d feat(search): default opt-in for User + APIToken
b17e106 feat(search): model browser in the search-page empty state
6c8df23 feat(search): discoverability + editorial omnibar restyle
09a808e test(search): update empty-state assertion for the redesigned label
3bd14c0 fix(search): cinematic-editorial page redesign + omnibar overlay bug
c267128 Bump version to 0.11.0

v0.11.0

6 commits
f47131e Merge feat/search: keyword search + MCP tool + help-docs RAG (v0.11.0)
d035e12 feat(search): Phase 2 — help docs in the unified search index
86a7a25 feat(search): apps/search/ — keyword search + MCP tool from day one
62600e7 docs: point README at www.smallstack.site for additional info
f286b80 docs: succinct README rewrite
6e34794 Bump version to 0.10.0

v0.10.0

25 commits
4ed5b2b Merge feat/api-admin: API admin module + modern-dark theme + AI docs
5ce5492 fix(theme): mute layout_preview — diagrams + drop hard-coded hexes
efb985e docs: CLAUDE.md for vibe coders cloning SmallStack
2026d6b docs(theme): canonical AI skill + architecture doc for modern-dark theme
406c086 fix(theme): push accent-palette surfaces another 3 points cool
655eda7 fix(theme): drop hard-coded warm-gray in dark-mode help cards
4f3d9ec fix(theme): --accent-band-bg variable for single-point band override
5f2831d fix(theme): neutral .hero-section for orange + django palettes
c7b8fe2 fix(theme): pure-neutral high-contrast surfaces + neutral hero band
9a7d904 fix(theme): always set data-palette so django override actually applies
172a85f fix(theme): stronger cool bias on django palette surfaces
0d3bb95 fix(theme): modern black + vibrant emerald accent for django dark palette
7ec7dbb fix(theme): drop the muddy-brown page-header band on orange palette
956428f fix(theme): modern black + vibrant orange accent for dark-orange palette
4efae1a fix(theme): modern black + vibrant purple accent for dark-purple palette
4003080 fix(theme): nudge dark-blue surfaces cool to resist color-context warming
8a16a6c fix(theme): neutral table striping — keep accent reserved for data
c63c4fe fix(theme): modern black + vibrant blue accent for dark-blue palette
4292926 fix(theme): navy-tinted surfaces for the dark-blue palette
9b94098 docs(cli): unified CLI reference + AI-agent decision tree
19062b3 test+docs(api-admin): widget + view tests + threat heuristics + docs
1f1ed48 feat(api-admin): Activity page with per-endpoint groupby + threat panel
08f38c4 feat(api-admin): /smallstack/api/ skeleton + Health page
f0cdfad feat(api): api_doctor management command — health checks + self-test
de7b50d Bump version to 0.9.2

v0.9.2

4 commits
680da1c Merge feat/tokenmgr-base: tokenmgr + home redesign + supporting fixes
d255d83 feat(home): redesign / as an editorial product page
5d9e1cd fix(pagination): attach page_range_display on every list-pagination path
4e18db9 fix(tokenmgr): default to active-only on initial page load

Theme Settings

Choose the color mode for your app.

The accent color for your app.

Choose the font family that fits your app.

Choose the gray shade for your app.

Choose the border radius factor for your app.

Choose the page layout for your app.