Creating repositories
You can create a new repository from the dashboard by navigating to/new. The creation form includes:
Repository name
Enter a unique name using letters, numbers, hyphens, and underscores. The name cannot end with
.git and must be less than 100 characters.Description
Add an optional description up to 500 characters to help others understand your project.
Visibility
Choose between public (anyone can see) or private (only you can access) repository visibility.
Automatic initialization
New repositories are automatically initialized with Git when created.
Repository structure
Each repository in Gitflare includes:- Owner information: Linked to your user account via
ownerIdand username - Visibility settings: Public or private access control
- Description: Optional project description
- Timestamps: Creation and last update tracking
- Git storage: Backed by SQLite in Cloudflare Durable Objects
Browsing repository contents
The repository overview page at/$owner/$repo displays:
File and directory tree
View your repository’s file structure with:- Folder icons for directories (displayed first)
- File icons for individual files
- Last commit message for each entry
- Relative timestamps showing when each item was last modified
Branch selection
Switch between branches using the branch selector component. The selected branch is tracked via theref URL parameter, allowing you to:
- View different branches of your repository
- Share links to specific branches
- Navigate the tree at any branch or commit reference
README rendering
If your repository contains a README file (case-insensitive matching forreadme.md, readme.mdx, readme.markdown, or readme.txt), Gitflare automatically:
- Detects the README in the root directory
- Renders Markdown files with GitHub Flavored Markdown support
- Displays the content below the file tree
- Supports raw HTML in Markdown files
Cloning repositories
The “Code” button on the repository page provides the HTTPS clone URL:Authentication for Git operations
Gitflare implements different authentication rules based on the operation: Pull operations (git clone, git pull, git fetch)- Public repositories: No authentication required
- Private repositories: Requires a Personal Access Token
- Always requires authentication with a Personal Access Token
- Only the repository owner can push changes
Empty repository setup
When you create a new repository, Gitflare shows setup instructions for: Creating a new repository locally:Updating repository settings
Repository owners can update:- Description: Change the project description
- Visibility: Toggle between public and private
Repository commits
View the commit history at/$owner/$repo/commits to see:
- Complete commit timeline
- Commit messages and authors
- Commit SHAs and timestamps
/$owner/$repo/commits/$commitId to view the changes in that commit.
Technical implementation
Gitflare stores repositories using:- Database: SQLite tables via Drizzle ORM for metadata
- Git storage: Cloudflare Durable Objects with SQLite backend
- Indexes: Optimized queries on owner, repository name, and ID fields
- Cascading deletes: Removing a user automatically deletes their repositories