-
Posts
2,199 -
Joined
-
Last visited
-
Days Won
57
Everything posted by wbmnfktr
-
It's not about adding every new learning into a new skill. It's about updating existing skills with new learnings. For example: in case a modules skill always returns an error when creating backend pages, that skills needs an update and I feed the learnings back into that skill. Yes, but I honestly don't like to have too much external requirements in my projects. I'd like to test Context+ (https://contextplus.vercel.app/) yet the overall setup is way too much hassle. For super big projects maybe, but for all those smaller to medium sized projects that's way off my comfort zone. I tried Gastown, SpecKit, OpenSpecs, Beads, BMAD ... whatever else there was. They always came with some kind of setup and bloat. Taking a day or two off meant I couldn't even remember I installed and used that tool in my projects or forgot to start a new task in a certain way. Skills are always there. They live in my OpenCode config folder now. They are portable, too. Way easier and no headaches. At least for me. Of Course everyone else has their own prefered way of doing things and may have the capactity to remember each tool and setup for each project. I don't. 😂 Way too many things. Way too little hours per day for that. 🙈 I try to solve the knowledge gap that most LLMs have in regards to ProcessWire. There isn't that much of training data for ProcessWire as there is for NextJS, React, Symphony, Laravel, and of course Java and C++. LLMs know the basics or "invent" new ways of doing core things, like URL hooks. PHP itself was never a real problem - just to make this clear. I found that skills are a great way to solve this - for me. I can use way cheaper models, like Kimi K2.5 or Minimax M2.5, with way better outcome using skills. Sure I could just burn through my $200+ Claude Code/Cursor plan but babysitting that agent to fix issues it isn't even aware off while it would repeat those same mistakes over and over again with a smile the next time - I was tired of that. That's why I played a lot with the JS-tools out there. Paying less money and investing less time for a way better outcome. I could run 10 agents in parallel that check each others work and fix issues, report back and forth, and could then somewhat get what I was looking for but it never felt right and looking at the code often even scared me. My skills contain about 80-90% of ProcessWire knowledge. Not perfect in every aspect, maybe sometimes even outdated examples or older PHP code (<8.x) but the results turn out to be great. For me at least it is: SKILLS, plus AGENTS.md thats referencing those skills, concepts/specs/PRDs For now. Maybe next week there is another concept that lives locally without any big setup in a folder that does everything I want and need. I don't know. What's your (daily) workflow? What's ruining your day to day work? What annoys you when working on something? My benefit is: I don't need $200 Claude/Cursor plans to get something done. I don't need Opus/Sonnet 4.6, Codex 5.3-x-whatever-they-named-it. I get MVPs up and running in ProcessWire like it was a NextJS/React project. Look into the ProcessWire skills here and you will notice that it's actually just the documentation - which is missing or is incomplete in so many LLMs. Sometimes with additional details, other code examples, or sometimes it's a missing part of the docs like for URL Hooks - as they actually only exist as a blog post right now - yet I can use them now without issues. That's what I tried to fix and for the moment this fixes it. Is that the best way to go? I don't think so. But I am lazy and tired. And this works. For me. I don't want to learn yet another tool or framework to get things done. Just to learn another framework and tool tomorrow and next week. I don't need 10-20 agents per project to run 24/7. I'm not trying to rebuild SAP/Sage or Asana/Trello/Jira. But let's find out how my (lazy) approach might help you or give you ideas.
-
For those who want to play around with that workflow: https://github.com/webmanufaktur/pwaiworkflow-profile DDEV setup (customise .ddev/config.yaml to your needs) clean ProcessWire installation clean database backup: site/assets/backups/database/clean-start.sql all necessary modules (core, 3rd party) Skills in .agents + custom symlinks for various IDE/tools AGENTS.md ready to go Testing & Demo: Branch: feature-restaurants-directory Specs file: https://github.com/webmanufaktur/pwaiworkflow-profile/blob/feature-restaurants-directory/specs/restaurants-directory.md Ask your agent to run that file and see what happens. Results may vary. Minimax M2.5 was fine, Z.AI GLM-5 did way better. Tell me your results and findings if you like to share. Reference result with Claude Sonnet 4.6 for comparison: https://github.com/webmanufaktur/pwaiworkflow-profile/tree/feature-restaurants-directory-claude-sonnet-46
-
Not that long ago I started with a completely new approach in regards to ProcessWire an AI. I had some rules, commands, and settings for Windsurf and Cursor months back but nothing really worked as good as I hoped it would and lost interest. Even switched to Astro, NextJS, BHVR, and other JS solutions. 🙈 ProcessWire-based development went back to 80% hand-coded with some assistance on the sidelines, mostly debugging, security, and tasks that were more PHP-focussed than ProcessWire-related. Then AGENTS.md and SKILLS came up. Custom instructions, guardrails, links to docs and example code. Almost similar to a README.md but for AI coding tools. The main problem still was the knowledge gap in models. They just didn't know enough about ProcessWire works and how to do more complex stuff. With SKILLS this changed. I pulled the entire docs, some blog posts, took some of the old recipes and let the AI do its magic. The AI repackaged the entire docs, custom instructions, module docs, PHP best practices, and everything else into skills. I installed new and clean instances of ProcessWire and just asked the AI to build things. Yeah... didn't work as expected. I gave the AI more tools to work with and fixed the AGENTS.md: RockMigrations - for creating and updating templates, fields, and pages 🥰 AutoTemplateStubs - for details about existing templates and fields 🤯 ProcessDatabaseBackups - can be a good idea to give your tools a database file it can look into without the need to bootstrap ProcessWire into a custom script or similar. Inline comments in config.php to mark things as important or noteworthy otherwise that file would be ignored /init - a custom action OpenCode, Claude Code, and some other tools have to initialize the whole project 💯 Now my tools have all the skills and know how to use RockMigrations to create templates, fields, and pages, can trigger database backups and look into the made changes, know how to build a custom module. Even custom page classes or URL hooks aren't a problem anymore. The AGENTS.md contains now critical changes in the config.php, has links to all the skills, and whatever necessary. The /init command is very capable of creating it nowadays. I just started to test it more and more. With fresh installations, older projects and even recent projects that have tons of everything. Whenever problems occure I let the AI update the skills or create new ones that take care of the problems it faced. Learning by mistakes. The overall workflow A README.md with a scope of the project, necessary templates and their fields, overall main features besides handling page rendering, like a bookmarking function for recipes or read articles, newsletter signups, automation tasks to clean up older data, and whatever the project needs. The amount of typing is still the same but now mainly in markdown files that explain what to build (/specs), what to fix (/issues), and what we have done already (/docs). I always start in PLAN mode. Starting simple with the overall idea, goals, and outcome. Then the combination of tool and model is important. OpenCode and Claude Code are great at thinking and planning but they need a capable model like Opus, Kimi K2.5 Thinking or even GLM-5. They start to ask questions, give options, recommend workflows. When that's done i ask to save everything to a file in the /specs folder. From here I can either switch to BUILD mode, manually tweaks the plan file, or let other models (Gemini 3 Pro or Codex) review it and ask for suggestions, changes, fixes. Github: https://github.com/webmanufaktur/pwaiworkflow/ Installation: Download and extract files Move entire .agents folder into the project root next to the wire/ folder Look into create-symlinks.sh, run if necessary --- Plans Windsurf $10/month (Legacy) with access to all Anthropic, OpenAI, Google models, and many more Z.AI Coding Plan Pro $120/year (BlackFriday Deal) with all GLM models, including GLM-5 and future releases Kimi Moderato $19/month with Kimi K2.5 (just expired) Minimax Coding Plan $20/month with M2.5 (started using it as successor to Kimi) Tools OpenCode - https://opencode.ai/ Similar to Claude Code, easy to configure, and even easier to extend with custom modes, agents, skills, and whatever you might need or want. Has a great planning mode and doesn't ask unnecessary questions in the middle of tasks like Claude Code did for a while just to burn more tokens. Kimi Code CLI (with Kimi K2.5) - https://www.kimi.com/code/en Tested it last month and while it's a CLI like OpenCode/Claude Code it feels and works totally different. It doesn't have any modes but supports AGENTS.md and SKILLS. Super fast and it is super capable for quick fixes, smaller features, or heavy automations. Windsurf IDE - https://windsurf.com/editor Like Cursor with almost identical features, a custom terminal integration, includes a browser that has full access and control which is great for debugging, UI/UX (especially with Opus 4x.) - I guess most of you have seen in the past or even tried it. Was called Codium before and I know some of you used that Codium Extension which was awesome.
-
Send a PR with a fresh README.md that contains what I was looking for.
-
I tried this and it stated that the directory is not empty - which is true because there is a folder for DDEV (.ddev). Maybe add a note that says something like: "If you are running this in a DDEV environment, contine as the .ddev folder stays untouched." Or something similar. At least this is what happened when I continued. Overall pretty nice experience. All that's missing now is a curl/wget command or a public URL on Github we can just copy and paste and go from there. I like it! Oh... and maybe the script should remove the kickstart.php as well.
-
I love these clean minimal styles. Have you tried to add some nice monospace font? Could make a nice contrast in some places.
-
The following question might sound a bit rough at the edges, BUT are people still using FontAwesome? Sure we have it in the ProcessWire backend but I can't remember using it somewhere else in a real project. I'd say YES to re-submit to push ProcessWire but that's by far the only reason I could think of.
-
I know that a lot of you enjoy some AI assistance while coding, therefore I wanted to point you to this deal: Compared to Claude Sonnet 4.5 I use Z.AI GLM 4.6 for quite some time now in OpenCode and Cline and I am super happy with it. For the price the results are awesome. No fear to ask for another iteration as usage limits are way higher than in Claude Code, Codex, and probably many others. Works in almost all tools availabe, see here: https://docs.z.ai/scenario-example/develop-tools/claude I am not affiliated with them so there is just this plain text link to their subscribe page. Take a look for yourself. ➡️ z.ai/subscribe
-
- 1
-
-
ProcessModuleInstall: unzip: Too many files in ZIP
wbmnfktr replied to aComAdi's topic in Tracy Debugger
Had the same issue but with ProCache a few days back - using the latest ProCache and ProcessWire DEV versions. Ryan's answer: As screenshot, because it's in the ProCache Support thread not everyone has access to. For me this didn't change anything but please test on your site. I moved ProCache manually to the modules folder instead. -
My tailwind.dist.css file only contains what my projects need most of the time - on all pages/views/whatever. 😁 So there is that. However you could split it up in several TailwindCSS files. One for only layouts, one for components (or even each component), one for this, and one for that. It depends on how much time you want to invest and break things up into smaller pieces and then add to whereever you finally load the CSS files. I think it's quite a bit of an overhead, but in case your projects are huge or have multiple areas, such as frontend, backend (not ProcessWire itself, but like a custom member area) this could help. First step would be disabling automatic detection - see here: https://tailwindcss.com/docs/detecting-classes-in-source-files#disabling-automatic-detection Then you would need multiple .css files that have directives to source only some parts of your files. It really depends on how well-structured your files are. Also in the docs, see link above. @import "tailwindcss" source(none); @source "../admin"; @source "../shared";
-
💯! I couidn't have said it any better - and said similar things in the past. At least 95% of my clients don't care about what is used to achieve their goals. They need tools that work, are easy to use, have a low barrier to onboard new editors to maintain content or data. Quite a lot of times, yes. I migrated a bunch of Wordpress, Typo3, Joomla projects over to ProcessWire and everyone was happy with the result. The moment you have to deal with lots or tons of data ProcessWire beats everything. This already starts with simple things like events (parties, concerts, those kind of events) and you take care of archiving old events. 🤯 Try this with WordPress. Try to automate things. It's super easy in ProcessWire. Remove daily maintenance tasks from your clients schedule - use this as a selling point - and they will understand. Depending on how big the project/budget was I either [a] showed them the most critical details about ProcessWire, like Security, API, Backend, Templates, Multilanguage, Access Rights/Roles. Everything is in the core, no additional modules/plugins needed. [b] built a MVP of the project, showcased automation, user management, access rights/roles, and let them (or those that would have to do so in the future) add/edit/delete content and data. BUT... When my only part in a project is implementing the design, build out templates, components, blocks - everything frontend - I don't care what they use later on as CMS. [Side note] Don't get me wrong about the overall topic. I think the new design/website could profit from some tweaks and iterations. I'd love to see more content and examples towards developers. Not only the basic API things, but how easy it is to work with it. Even when you are totally new to it.
-
Some minor tweaks in the PHP & JS and this is working as expected. <?php foreach ($page->images as $image) { $thumb = $image->height(180); echo "<button class='trigger' popovertarget='mypopover' popovertargetaction='show' data-full='{$image->url}'> <img src='{$thumb->url}' alt='{$image->description}' /> </button>"; } ?> <div id='mypopover' popover> <img src='' alt='' /> <button class='close_pop' popovertarget='mypopover' popovertargetaction='hide'>×</button> </div> <script> window.addEventListener("load", initGallery); function initGallery() { const triggers = document.querySelectorAll(".trigger"); let popImg = document.querySelector("#mypopover img"); triggers.forEach((trigger) => { trigger.addEventListener("click", () => { let popImgUrl = trigger.dataset.full; popImg.src = popImgUrl; let triggerImg = trigger.querySelector("img"); popImg.alt = triggerImg ? triggerImg.alt : ""; }); }); } </script>
-
Ask for browser name, version, and all extensions installed. Even ask if the person is using a VPN or is sitting behind a PiHole or Adguard instance. One coincidence... the user is using an Apple and the page path contains `Apple(s)`. Another thing, the path has a weird prefix in the breadcrumb: `\Apples` Might be nothing, but these are my first thoughts.
-
@cpx3can you provide me a list of all modules you use and and outline of the template in which that occures, maybe even an export of the template and fields, with the exact versions of ProcessWire and the modules you use. So I can create a similar environment and play around with it? Would reduce the guessing here.
-
AI, Cursor, Windsurf, Claude Code... you name it. In terms of ProcessWire they all need a strong hand that guides them through different tasks, ways, and whatever its in the way. You need to oultine your part in ProcessWire in great detail. You need to define hooks, the solutions to use - from ZIP to TempDir. You have to outline the forms it needs to render and the fields to use from start to finish. You could give an existing module as baseline, but beware it knows what to do then. But extending existing modules works pretty good - see my fork here of GUID/UUID Generator Whatever tool you use, it knows the baseline I knew 2 weeks into ProcessWire back in 2014 after doing the tutorials and reading the forums. Hint: Let Composer/Cascade finish the tutorials - it's wild! And let them create rules, workflows and memories from it. You will reach a junior-junior grade PW-dev this way. BUT (big time)... it's great and even superior in terms of PHP. Do the outline, from start to finish, do what you know in terms of ProcessWire. Let the AI/IDE/Agents do the PHP part, including docs, and you will be happy. Sure... not that much fun as people have that use NextJS (13, and maybe 14, but not 15) or AstroJS (2,3, and parts of 4, but not 5)... but hey... that's still only JavaScript (maybe Typescript) those AI/IDE/Agents are good at - the concepts still need either docs or a solid foundation. In the JS-world everything is a pattern, everything is JS or TS, the concepts are the same. But framework-specific... is another story. Laravel works great. Ok, maybe not the latest version, and maybe not all the extensions, like Forge and Filament. But yeah, it works. Even migrations. Depending on the database. And don't try Supabase or Neon. That's super wild. But... older versions with just *.blade.php - works! Flux, InertiaJS, VUE, React? meh I am still not a coder/developer/programmer BUT... I know how to write a technical concepts and know how to outline modules, hooks, whatever in ProcessWire. The moment I realised that those tools are great at PHP, and s*ck at ProcessWire - I understood what to do. A new project I work on, a NextJS/AstroJS/ProcessWire-combo, has already 50+ documents to outline which tool does what and how to do it. And I didn't even really start to outline anything in terms of modules or hooks. The ProcessWire part, or at least a big part, is already outlined here: https://github.com/webmanufaktur/pwai/tree/windsurf Which is the latest commit with most of the stuff needed - for my projects. But yes... those AI/IDE/Agents only see patterns and try to match up - in frameworks. To give a bit more helpful details here: AutoTemplateStubs is a great addition to help your tools to understand what's happening. In case you hate to do everything yourself: RockMigrations has some nice .vscode snippets that help and most AI/IDE/Agents understand it and can create templates and fields right from migrate.php. Noice!
-
Are those textarea fields direct children of templates or are they nested in repeaters or RepeaterMatrix types?
-
Not a crutch but the offical way to work with x-cloak. https://alpinejs.dev/directives/cloak
-
YES! I hoped/was whishing for a collab like this one with @diogo and @jploch. That's such a perfect match. Already love it without even having seen a screen yet. I can only imagine what's coming next. 👏
-
For TailwindCSS v 4.x I asked Grok (or maybe even Cascade itself - not sure) to read the migration/upgrade guide and compress it down to the bare minimum. I put that file into my `docs` folder, added it to the context and let Cascade do its work. Besides those changes, TailwindCSS didn't change that much so most of it worked as before. I also added a new base tailwindcss.css file with the new config syntax and changes and when necessary I mention that there is no need to setup TailwindCSS again. Works pretty well. /*file: `/site/templates/src/tailwind.css` */ @import 'tailwindcss'; /* PLUGINS */ /* @plugin "@tailwindcss/typography"; */ /* @plugin "@tailwindcss/forms"; */ /* CUSTOM */ @theme { /* 480px */ --breakpoint-xs: 30rem; } /* SOURCE */ @source "../../templates/**/*.html"; @source "../../templates/**/*.html.twig"; @source "../../templates/**/*.js"; @source "../../templates/**/*.latte"; @source "../../templates/**/*.php"; @source "../../templates/**/*.twig"; /* SOURCE NOT */ @source not "../../../node_modules/**/*"; /* ALPINE JS */ [x-cloak] { display: none !important; }
-
It's shocking to ask just the basics. Try:
-
Correct. You have to test everything with your setup, workflow, and everything. Even between projects I have to tweak lots of things. I guess in total about 5 different variations of setup are in that repo. Test it. Tweak it. Even feel free to raise a PR.
-
Have you tried Windsurf for PhpStorm? Or was that the "AI they integrated"? https://plugins.jetbrains.com/plugin/20540-windsurf-plugin-formerly-codeium-for-python-js-java-go-- Working? It's more a fight, especially with ProcessWire but most of the time and patience everything works out great. Recently pushed my last/latest iteration of my PWAI setup. Very opinionated especially in terms of settings, tools, and extensions, but hey... https://github.com/webmanufaktur/pwai
-
I totally support what @bernhardsaid and I just want to add: VS Code Insiders with Github Copilot - for free. Not sure why and how but the results feel a bit more nuanced at times. Combined with Cline/Roo you even could add a free Gemini 2.0/2.5 key which outperforms in conceptual tasks (PRDs/SOPs) quite often. All you need to do is installing VS Code Insiders, add Copilot through the interfaces provided (you can't miss them!). I enjoy writing mass content, like docs with it, as it doesn't ruin my credits in Windsurf/Cursor.
-
Family vacation/time > *
- 1 reply
-
- 7
-