Show HN: Primo – all-in-one IDE, CMS, component library, static site generator

mmmateo | 575 points

Hi HN. primo is an IDECMSCLSSG (short for IDE, CMS, Component Library, Static Site Generator) I’ve been working on for a few months. The idea came from wanting to host a Notion page at a domain name and not being able to. Once I made the initial version - a basic text editor - the rest of the features just came naturally (except for the SSG, which came from not wanting to deal with hosting).

I’d written off freelance web development a couple years ago after yet another spontaneously-combusting WordPress project, but primo’s enabled me to get back into it and it’s been A+ so far. primo kind of looks like a page builder, but it’s totally the opposite - instead of abstracting away the code it makes it more accessible.

It’s free forever, and I’ll be open-sourcing it soon (built in Svelte - beautiful framework). Ideas & critiques super appreciated.

Cheers

mmmateo | 4 years ago

It sounds great, but the permissions it needs is too much for me:

> Repositories > Public and private

> This application will be able to read and write all public and private repository data.

Would it be possible to use deploy keys for specific repositories instead?

continuational | 4 years ago

I don't remember the last time I got such a chuckle out of a domain name, but this one is great.

squires | 4 years ago

- Is it possible for the generated static site to be HTML+CSS only (no JavaScript)?

- How optimal/minified is the generated code?

- FYI, if you have third party cookies blocked, logging in with GitHub will fail (the login popup opens then immediately closes with no error indication). While failure might be expected, it would be nice to give the user a hint on what might have gone wrong.

cornstalks | 4 years ago

I haven't looked into CMS since ~6 years or so but this pretty much what I would expect from a CMS in 2020.

Through maybe it's focused a bit more then some other systems on (also) supporting a bit more tech savy people. But then in my experience even with CMS targeted a less tech savy people once a change needs to be done which is more then just changing the text it's always passed to the tech savy people anyway.

Through I guess given how primo highlights the IDE, Components Library & Static Site Generator not all web focused CMS do that today??

dathinab | 4 years ago

Reminds me of TinaCMS (https://github.com/tinacms/tinacms), but built on top Svelte instead of React+Gatsy. The choice of Svelte is really exciting to me. Can't wait for the source to drop.

ahnick | 4 years ago

In terms of connecting to data sources I would rather decouple the querying and security layer. Companies are going to be focusing more and more on integrations. So if we have an integration layer in rest or graphql it would make building complex rich apps a much nicer experience. Basically what you have here is a competitor of many dashboarding tools like Tableau or PowerBI. I know you are thinking wordpress and cms, but these tools will eventually power dashboards as they blend with web apps.

kfk | 4 years ago

If you need any inspiration from similar products (I was building this exact thing with a friend for the last week or so, gonna toss that in the bin now haha):

https://grapesjs.com/

https://pinegrow.com/tailwind-visual-editor/

Here's a video of what we were working on, if anyone's curious:

https://streamable.com/9elv76

I swear the zeitgeist/collective unconscious is real.

gavinray | 4 years ago

Please fix the GH "read and write to all repos, public and private" to make it reasonable to investigate. Thanks!

chrisweekly | 4 years ago

I’ve been moving towards implementing an API based CMS, specifically prismic.io which allows me to setup content elements that marketing staff can edit.

Can you explain a bit more about the non-tech user experience for content editors?

Would love to find a magic Wordpress replacement with a proper git & tailwind supported workflow for devs and a simple interface for content editors. I’m hoping this fits the bill.

evolve2k | 4 years ago

The problem with website builders is that they do not suit anyone, except maybe when you need quick, "good enough", perhaps one-off web site.

* Professional developers don't want to spend their days on a online GUI like this as opposed to the comfort of a repository and trusty code editor and tools.

* End users, even with a great WYSIWYG UI, may still not be able to make knowledgeable design decisions. Also, even with the best WYSIWYG GUI, sometimes you just need to tweak the source.

We should be building better structured content management systems as opposed to better Dreamweaver-like tools. Structured content also enables other cool things like single-source, multiple-output publishing.

There are a lot of these "headless CMS"s nowadays but I still haven't found one that I really like, I think there's room for improvement.

emmanueloga_ | 4 years ago

This combined with Tailwind UI[0] makes a pretty stellar low-code tool. For someone with entry level HTML knowledge, you could copy/paste your way to a well-designed site.

[0]: https://tailwindui.com

leerob | 4 years ago

Uses ProseMirror [1] internally. Nice choice!

[1] https://prosemirror.net/

benrbray | 4 years ago

In Firefox I just get a blank page where I assume there should be an editor. There's a toolbar at the top but none of the buttons do anything, and in the console there's the error:

Uncaught (in promise) TypeError: e is undefined Ng _User.svelte:34

4rt | 4 years ago

I imagine this is similar in concept to Webflow, Wix, Squarespace, etc? As in, a tool to build a custom static website with easily editable content.

Since this needs a lot of code to actually create a site, why not create a CMS instead that can be connected through an API to a SSG?

pier25 | 4 years ago

I'm curious to learn more, but I wish to opt-out from 3rd party trackers beforehand - there doesn't appear to be any method to do this, so am I (and any other Europeans in the same boat) entirely unwelcome on your site?

Or am I missing the feature (I did try and look)?

detritus | 4 years ago

Why give this away? You could have a good business. You’re leaving money on the table.

alexmingoia | 4 years ago

Mateo, I'm very interested in primo and look forward to putting it to work once it is open source. So very pleased that you are heading that way! I'd like to sign up to the forum without using github (as I'm allergic to anything leaking data, esp to corporations / Microsoft).

I realise it may be needed for some primo features, but is there any chance we can use email to auth with primo's Discourse?

I'll be building test sites and deploying to SAFE Network as soon as I can. Svelte is my favourite so again I'm please that you've chosen to use it to build primo. Good luck.

happybeing | 4 years ago

> This application will be able to read and write all public and private repository data. This includes the following: ...

Is it really needed?

homami | 4 years ago

What a great domain name.

jagger27 | 4 years ago

I previously worked as Product lead for a homegrown CMS for one of the large media companies. We built a solution to address a myriad of content types (images, videos, voice, news articles, games, etc), For content in all major languages. I like this, and happy to chat if you want to get a perspective.

draz | 4 years ago

Nice work!

I’ve created my own blog around a pure pre-render solution (using gatsby stripped down to just pre-rendering) - because I want to control everything and not be dependent on anything aside from the stack (react in my case).

Impressive how you’ve tied everything in to github. I’ll be reading your code to see how it all works.

ricksharp | 4 years ago

I made something similar when I was looking for an alternative to Shopify component based template CMS for the company I was working for at the time. It's a very good compromise between developer flexibility and marketer accessibility.

Congrats!

whytaka | 4 years ago

Really impressive work! Is there any chance this can be used to a create a front-end that can connect to data sources like APIs and databases (almost like a Retool that lets you build a web app instead of internal business tools)?

replwoacause | 4 years ago

This is really nice. What's it written in? How did you do the Github social login?

Would love to see the code. If you're planning to open source it, there's no downside to making the repo public now. We know it will get better :)

ccleve | 4 years ago

Bravo. This is very cool. Well done shipping it without getting bogged down in all the possible features and workflows that could be part of this sort of thing.

danbruder | 4 years ago

why does primo.af shows only part of content of https://primo.press/

codegladiator | 4 years ago

Tried it and created a site but when I click on the site it sends me back to the homepage. Not sure if I'm doing something incorrectly.

This looks really cool!

nickthemagicman | 4 years ago

this is pretty neat! any plans for dynamic content, or data sources? as well could you be able to show how the authentication mechanism works?

lawrenceong | 4 years ago
[deleted]
| 4 years ago

Neat! Is it possible to load themes? That would be super useful if it was possible to load Jekyll/Static site themes.

syntaxing | 4 years ago

This is great, thank you for sharing. Looking forward to your update to GitHub repo permissions access.

frays | 4 years ago

>Build to Github: Anytime you make code or content changes, a blazing fast static bundle gets built out to Github where you can deploy it to your host of choice.

In light of the recent outages on Github it will be anything but blazingly fast.

ekianjo | 4 years ago

The video doesn't play for me on mobile (Android Chrome)

jadbox | 4 years ago

This is interesting, particularly the all-in-one nature of it.

However, of late, I've taken to hand-writing HTML and CSS for some small static sites I manage. I still use Hugo and Sass for my personal site, though.

bovermyer | 4 years ago

Excited to try this as a replacement for RapidWeaver.

whitehouse3 | 4 years ago

Great project Will definatly haver a look.

ramon | 4 years ago

Great project, Will have a look.

ramon | 4 years ago

Excited to try this. Nice work!

wun0ne | 4 years ago

Primo as fk I see

akayoshi1 | 4 years ago

Feel like we've gone full-circle for the umpteenth time.

wieghant | 4 years ago

This is great!

pcast | 4 years ago

I'm getting a completely blank page? <body></body>

I would expect a static site generator (or at least any one I would choose to use) to create pages that do not require javascript.

Edit: My bad. Still, for a landing page for something like this, wouldn't you want to eat your own dogfood?

minerjoe | 4 years ago

Good afternoon

UzmaAzad | 4 years ago

Using ".af", the top-level domain for Afghanistan, so your domain is pronounced "primo dot A.F." is a little on the nose.

hughpeters | 4 years ago