A SvelteKit application for learning ARM assembly programming with interactive guides and editor.
# Install dependencies
npm install
# Start development server
npm run dev
# Run type checking
npm run checkBuild Command: npm run build
The app is configured with @sveltejs/adapter-auto which automatically detects the deployment environment and configures accordingly.
Build and run:
# Build the Docker image
docker build -t armed-app .
# Run the container
docker run -p 3000:3000 \
-e AUTH_SECRET=your_secret \
-e AUTH_SLACK_ID=your_slack_id \
-e AUTH_SLACK_SECRET=your_slack_secret \
armed-appOr use Docker Compose:
# Create .env file with your variables
cp .env.example .env
# Start the application
docker-compose up -dCopy .env.example to .env and set:
AUTH_SECRET=your_secure_random_32_character_secret
AUTH_SLACK_ID=your_slack_client_id
AUTH_SLACK_SECRET=your_slack_client_secret- Create a Slack app at https://api.slack.com/apps
- Set OAuth callback URL to:
https://your-domain.com/auth/callback/slack - Add OAuth scopes:
openid,profile,email - Copy Client ID and Secret to environment variables
/src/routes/- SvelteKit file-based routing/src/routes/editor/- ARM assembly editor with auth & stopwatch/src/routes/assembly_guide/- Interactive assembly tutorials/src/auth.ts- Authentication configuration/static/- Static assets
Uses Auth.js with Slack OAuth provider. Features:
- Sign in with Slack
- Session management
- Integrated stopwatch for coding sessions
- TailwindCSS 4.x with typography plugin
- Retro terminal aesthetic with scan line effects
- Custom fuchsia color scheme