Cosmic Developer is designed to be forked and personalized. Nearly every visible piece of content — project titles, skill names, work history entries, testimonials, and navigation labels — lives in plain JavaScript arrays inside the source components. Visual theming is controlled by Tailwind CSS design tokens inDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/apursley2012/cosmic-developer/llms.txt
Use this file to discover all available pages before exploring further.
tailwind.config.js, and build behaviour is configured through vite.config.js. Both of these configuration files exist in the source project (your fork), not in the distributed pre-built repository. This guide maps out every configuration surface so you know exactly where to look when making a change.
Configuration Areas
Color Palette
Change the aurora teal, cosmic navy, and star-white tokens that define the portfolio’s colour scheme. All colours are declared as Tailwind custom tokens and can be swapped without touching component code.
Typography
Cosmic Developer uses Space Grotesk for headings, Inter for body text, and JetBrains Mono for code. Learn how to swap typefaces or adjust the font-weight scale loaded from Google Fonts.
Animations
The starfield, aurora glow, page transitions, and teletype effects are all configurable. This section covers the keyframe and Framer Motion settings behind each animation.
Deployment Settings
The distributed repo is already built and ready to deploy. This section covers base-path configuration for subdirectory deployments when building from a source fork.
Content Data Locations
Every portfolio page is driven by a data array defined in the source component (or in a co-located data file). To update the content for a page, open the corresponding source file and edit the array values. No build configuration or environment variables are required — the data is compiled directly into the JavaScript bundle by Vite.| Page | Data to Edit | Location in Source |
|---|---|---|
| Home | Hero text, subtitle | Home component |
| About | Sector names and content | sectors array |
| Projects | Project name, description, tech stack, orbit label | projects array |
| Skills | Skill name, position, magnitude, category | skills array |
| Work | Year, role, company, description, status | workHistory array |
| Case Studies | Title, subtitle, description, accent colour | caseStudies array |
| Articles | Date, title, excerpt, tags | articles array |
| Testimonials | Quote, author name, author role | testimonials array |
| Navigation | Path, label, description | navItems array in Navigation.js |
The distributed repository contains a pre-bundled
assets/main.js. Editing raw source arrays requires either the original unbundled source files or a fork of the repository that includes src/. See the tip at the bottom of this page for the recommended workflow.Vite Configuration
vite.config.js lives in the source project root — it is not present in the distributed pre-built repository. For most deployments the defaults work without modification, but one common change is required when deploying to a subdirectory path on GitHub Pages or a similar host.
If your site will be served from https://username.github.io/cosmic-developer/ rather than the domain root, set the base option to match the subdirectory:
Tailwind Configuration
tailwind.config.js lives in the source project root — it is not present in the distributed pre-built repository. Visual design tokens — colours, font families, custom animations, and extended spacing — are declared here. Cosmic Developer defines a custom colour palette under theme.extend.colors that maps short semantic names (like aurora-teal and cosmic-black) to exact hex values, keeping component class names readable.
To add a new accent colour or modify an existing token in your source fork:
text-nebula-orange or bg-nebula-orange/20.
Adding a New Page
Adding a page to Cosmic Developer involves four coordinated steps: creating the component, registering its route, adding it to the navigation, and — if you need direct-URL access on static hosts — creating an HTML stub in thepages/ folder. All steps except the last require the source project.
Create the page component
Create a new React component file in
src/pages/ (or wherever the existing pages live in your fork). Follow the same pattern as an existing page — import the shared layout components and export a default function:Register the route in AppRoutes
Open the file that defines your application’s route tree (typically Because
src/AppRoutes.jsx or equivalent) and add an entry for the new page:HashRouter is in use, this route will be accessible at /#/contact.Add the nav item to Navigation.js
Open
src/components/cosmos/Navigation.js and append an entry to the navItems array. Each item needs at minimum a path, a label, and optionally a description shown in the expanded navigation panel:Create the HTML stub in pages/ (optional)
The This step is optional if your host supports wildcard fallback to
pages/ folder contains pre-rendered HTML stubs that set window.__STATIC_PAGE_ROUTE__ and window.location.hash on load, enabling direct URL access (e.g. visiting yoursite.com/pages/Contact.html will redirect the user into the React app at /#/contact). Copy an existing stub and update the route value:index.html.Working From Source
The distributed repository contains a compiled, minified bundle inassets/main.js. While the site runs perfectly from this bundle, editing content or components requires the original pre-build source files.