effection icon indicating copy to clipboard operation
effection copied to clipboard

Bring the website back into this repository

Open taras opened this issue 4 months ago • 3 comments

Motivation

We wanted to bring the website back into effection repository since Deno now supports having multiple projects in one repository. In the process, we also added the ability to render the website by reading content from git repositories instead of via GitHub API.

Approach

It was actually quite a bit of work to be able to read content from git repositories, but it looks like the result was worth while. I'll explain how it works. There are 2 primary abstractions to do most of the heavy lifting,

Fetch API

The fetch API is based on middleware. I was originally going to use @effectionx/context-api but I couldn't because the website uses effection 3, so I copy and pasted it into this repository. The fetch API provides the base abstraction for reading contents from URLs. This is helpful when we need to read data from GitHub API or GitHub website URLs. For example, JSR references GitHub respository URLs. By using the fetch context API, we're able to use a standard interface for fetching data and configure that interface separately.

Repository

Repository is an abstraction for working with repositories. There are two kinds: Git and Octokit. Git read from the file system and Octokit from GitHub API. Both providers are available for reading files, but only Git provider is used for reading files. Octokit provider is used for fetching stars. We should really publish the Git API as a separate package.

taras avatar Aug 29 '25 02:08 taras

Open in StackBlitz

npm i https://pkg.pr.new/thefrontside/effection@1028

commit: b3019e8

pkg-pr-new[bot] avatar Aug 29 '25 02:08 pkg-pr-new[bot]

Can we put AGENTS.md into a .agents or something? I'd like to maintain root dir hygiene if possible

@cowboyd unfortunately, according to https://agents.md, it has to be in the root.

AGENTS.md is a simple, open format for guiding coding agents. Think of it as a README for agents.

taras avatar Sep 04 '25 22:09 taras

Commits must have verified signatures. You might want to scrub Claude off the commit authorship, or else sign on its behalf (not quite sure how to do that)

cowboyd avatar Sep 06 '25 22:09 cowboyd

Checks appear borked.

cowboyd avatar Dec 15 '25 16:12 cowboyd