2026-10-27 08:42:19 -04:00
|
|
|
import allauth.urls
|
|
|
|
|
from allauth.account import urls as allauth_account_urls
|
Scaffold Phase 0: Django project, deploy config, base layout
Django 5.2 with dev/test/prod settings, SQLite tuned for Litestream
(WAL, IMMEDIATE transactions), ULID primary keys via a shared base
model, and a custom User model ahead of the first migration.
Minimal accessible base template with dark mode via color-scheme and
an optional theme picker. /healthz answers before host validation so
Fly checks pass.
Dockerfile (dev and prod targets), compose for local dev, fly.toml
with placeholder app/region, Litestream backups to B2, and a Forgejo
Actions workflow. Migrations run in bin/start because Fly release
machines don't mount volumes.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 06:59:34 -04:00
|
|
|
from django.contrib import admin
|
2026-10-27 08:42:19 -04:00
|
|
|
from django.urls import URLResolver, include, path
|
Scaffold Phase 0: Django project, deploy config, base layout
Django 5.2 with dev/test/prod settings, SQLite tuned for Litestream
(WAL, IMMEDIATE transactions), ULID primary keys via a shared base
model, and a custom User model ahead of the first migration.
Minimal accessible base template with dark mode via color-scheme and
an optional theme picker. /healthz answers before host validation so
Fly checks pass.
Dockerfile (dev and prod targets), compose for local dev, fly.toml
with placeholder app/region, Litestream backups to B2, and a Forgejo
Actions workflow. Migrations run in bin/start because Fly release
machines don't mount volumes.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 06:59:34 -04:00
|
|
|
|
|
|
|
|
from intent.core import views
|
2026-10-27 07:10:27 -04:00
|
|
|
from intent.orgs.urls import invite_urlpatterns
|
2026-10-27 07:58:16 -04:00
|
|
|
from intent.projects.views import project_create
|
Scaffold Phase 0: Django project, deploy config, base layout
Django 5.2 with dev/test/prod settings, SQLite tuned for Litestream
(WAL, IMMEDIATE transactions), ULID primary keys via a shared base
model, and a custom User model ahead of the first migration.
Minimal accessible base template with dark mode via color-scheme and
an optional theme picker. /healthz answers before host validation so
Fly checks pass.
Dockerfile (dev and prod targets), compose for local dev, fly.toml
with placeholder app/region, Litestream backups to B2, and a Forgejo
Actions workflow. Migrations run in bin/start because Fly release
machines don't mount volumes.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 06:59:34 -04:00
|
|
|
|
2026-10-27 08:42:19 -04:00
|
|
|
|
|
|
|
|
def _without_passwords(patterns):
|
|
|
|
|
"""allauth's URLs minus the password views: regular users sign in with a code only."""
|
|
|
|
|
return [p for p in patterns if not str(p.pattern).startswith("password/")]
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
account_urlpatterns = [
|
|
|
|
|
(
|
|
|
|
|
path("", include(_without_passwords(allauth_account_urls.urlpatterns)))
|
|
|
|
|
if isinstance(p, URLResolver) and p.urlconf_name is allauth_account_urls
|
|
|
|
|
else p
|
|
|
|
|
)
|
|
|
|
|
for p in allauth.urls.urlpatterns
|
|
|
|
|
]
|
|
|
|
|
|
Scaffold Phase 0: Django project, deploy config, base layout
Django 5.2 with dev/test/prod settings, SQLite tuned for Litestream
(WAL, IMMEDIATE transactions), ULID primary keys via a shared base
model, and a custom User model ahead of the first migration.
Minimal accessible base template with dark mode via color-scheme and
an optional theme picker. /healthz answers before host validation so
Fly checks pass.
Dockerfile (dev and prod targets), compose for local dev, fly.toml
with placeholder app/region, Litestream backups to B2, and a Forgejo
Actions workflow. Migrations run in bin/start because Fly release
machines don't mount volumes.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 06:59:34 -04:00
|
|
|
urlpatterns = [
|
|
|
|
|
path("", views.home, name="home"),
|
|
|
|
|
path("admin/", admin.site.urls),
|
2026-10-27 08:42:19 -04:00
|
|
|
path("accounts/", include(account_urlpatterns)),
|
2026-10-27 07:10:27 -04:00
|
|
|
path("invites/", include(invite_urlpatterns)),
|
2026-10-27 07:58:16 -04:00
|
|
|
# Organizations own the rest of the URL space (see RESERVED_SLUGS in orgs and projects).
|
|
|
|
|
path("<slug:org_slug>/new/", project_create, name="project_create"),
|
2026-10-27 07:10:27 -04:00
|
|
|
path("<slug:org_slug>/", include("intent.orgs.urls")),
|
2026-10-27 07:58:16 -04:00
|
|
|
path("<slug:org_slug>/<slug:project_slug>/", include("intent.projects.urls")),
|
|
|
|
|
path("<slug:org_slug>/<slug:project_slug>/features/", include("intent.features.urls")),
|
Add issues and comment threads (Phase 3)
Issues: per-project numbers, statuses (open, accepted, rejected,
withdrawn, duplicate), feature links, edits, and a timeline of comments
and events. From an issue, collaborators create or update a feature
with the revision tied to the issue and an option to accept it.
Comments: general and line-anchored threads on features, one
discussion thread per issue, edit history, tombstone deletes, resolve,
and promoting a feature thread to an issue. Line threads attach to
top-level Markdown blocks and go outdated only when the text changes.
HTMX swaps threads in place with focus management; every action also
works as a plain form post. Markdown headings are re-levelled so user
text never skips heading levels on the page.
The example flow from concept.md (steps 1-7) is covered end to end in
tests/test_example_flow.py.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 09:18:45 -04:00
|
|
|
path("<slug:org_slug>/<slug:project_slug>/issues/", include("intent.issues.urls")),
|
|
|
|
|
path("<slug:org_slug>/<slug:project_slug>/", include("intent.comments.urls")),
|
Scaffold Phase 0: Django project, deploy config, base layout
Django 5.2 with dev/test/prod settings, SQLite tuned for Litestream
(WAL, IMMEDIATE transactions), ULID primary keys via a shared base
model, and a custom User model ahead of the first migration.
Minimal accessible base template with dark mode via color-scheme and
an optional theme picker. /healthz answers before host validation so
Fly checks pass.
Dockerfile (dev and prod targets), compose for local dev, fly.toml
with placeholder app/region, Litestream backups to B2, and a Forgejo
Actions workflow. Migrations run in bin/start because Fly release
machines don't mount volumes.
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-27 06:59:34 -04:00
|
|
|
]
|