Skip to content
NewsTeam Documentation Request early access

Choose a starter

The developer pack contains three separate projects. Choose the one that matches your product, retain its lockfile and use its README for provider and deployment details. Install Node.js 22.15 or newer and npm before running these commands.

Contact hello@newsteam.io or your NewsTeam project owner for the current developer pack, your Site app ID and matching API environment. The pack is supplied through that handover; these guides do not assume a public download or provision an account.

  • demo-codebase — Next.js website with Site routes, articles/pages, widgets, discovery, feeds and sitemaps. Verify your Site, hosting/cache configuration, provider accounts and any member/payment flows before launch.
  • demo-native-app — Expo/React Native for iOS and Android, with fixture and live Site modes. Build with native toolchains and test on devices; JavaScript exports do not verify a signed binary.
  • demo-integrations — A separate typed service with capture/replay and outbound examples. Deploy a protected service reachable by NewsTeam and test the actual provider workflow. Action examples remain previews.

From the extracted pack:

Terminal window
cd demo-codebase
npm ci
cp .env.example .env.local

Set .env.local:

NEWSTEAM_APP_ID=your-public-site-app-id
NEWSTEAM_API_URL=https://api.newsteam.io
NEWSTEAM_ENABLE_MEMBERSHIP=false
ARTICLE_ACCESS_MODE=free
Terminal window
npm run dev

Open http://localhost:3000. The API origin has no /v1 suffix. Publish the Site and relevant Pages in Desk; an app ID alone does not publish them. API configuration stays on the server, with browser operations using the starter’s same-origin proxy.

The reference includes Site branding, routing, SEO, widgets, search, feeds/sitemaps, configured analytics and advertising. Credentials, account configuration, consent rules and campaign eligibility remain specific to your publication. Membership is optional and off by default; free article presentation is a starter setting, not proof of paywall enforcement. Review reader identity, checkout and Site client rules before enabling them.

Run npm test and the build for your hosting target. The supplied developer handover and cache manifest describe the Cloudflare/OpenNext example and required runtime resources. Test public cache hits, private bypasses, preview links, feeds, sitemaps and provider requests on staging.

From the extracted pack:

Terminal window
cd demo-native-app
npm ci
cp .env.example .env.local
npm start

The default EXPO_PUBLIC_CONTENT_MODE=fixture uses illustrative bundled content and makes no CMS calls. For a live Site, set:

EXPO_PUBLIC_CONTENT_MODE=live
EXPO_PUBLIC_NEWSTEAM_APP_ID=your-public-site-app-id
EXPO_PUBLIC_NEWSTEAM_API_URL=https://api.newsteam.io
EXPO_PUBLIC_SITE_URL=https://your-publication.example

Select your Site in live mode. Public configuration is included in the app bundle; provider secrets belong on a server. The reference includes native lists/widgets, continuous reading and offline bookmarks. Account, push and paid-access foundations require the matching providers, registered callbacks and separate acceptance.

Use npm run verify for the starter checks and npm run ios or npm run android with the required Xcode/iOS or Android tooling. npm run export:native produces JavaScript and assets; it does not establish device, signing, store or native-binary readiness. Test deep links, secure token storage, offline behavior, payments and configured media/providers on the devices you will support. Browser review additionally requires permitted CORS or the supplied review proxy.

From the extracted pack:

Terminal window
cd demo-integrations
npm ci
npm run check
npm test
npm run dev

This project uses published @newsteam/plugin-sdk@1.0.0-alpha.3. A Site app ID does not register a service: NewsTeam discovers its reachable URL and selects a type ID. The local fixture is a protocol reference; implement provider calls and access controls before deployment. Outbound/action examples are local previews, and unconfigured webhooks are rejected.

For a smaller project available directly from these docs, use the complete importer walkthrough. Check registered providers and setup requirements before writing an integration.