Commits
Marek Vsechovsky committed 5789198fef8
AI work on the following:
Why didn't you create an Aisman outuput file after finishing the execution of this last request? Do you not see the instructions? Are you looking for it somewhere else? (It is in M:\Development\_Gamarq\Web\Projects\Aisman\.aisman ). Have you just decided to ignore the instructions? Or have you forgotten about it? What happened? Help me fix this. This has to work for all users. If you still can, generate the Aisman output file for the fist step of the this chat session as a file to the .aisman/output folder.
I expected you to add Views folder and a sub-folder called home and add a home controller. You've added them to the Pages folder, which is OK if that is better. But could you explain to me how does it work and why it is better?
I also expected you to move the Index.cshtml page which is where the application itself currently lives and maybe move it to a Dashboard folder so that the app can be accessed throught /Dashboard link and the landing page should probably be in /Home/Index so that when published it is the first page opened - a landing page when solely the domain is written in the users browser address bar.
Clicking on the name of the app - Aisman - should take the user there, not to the dashboard.
Remove the Home link from the menu - that's what the app name there is for. Rename the App menu item to Dashboard. Then Pricing is fine and thats it. All the remaining links should only be accessible from the footer.
Prepare a standard privacy page content. Add Terms & Conditions page too.
What other pages that are standard may I be missing? If you can think of those and write them for me right away that would be great.
Add an avatar of the logged-in user to the right of the top menu bar that will show a popup with the standard links like Account, Logout etc. Also show the currently selected organization from where the user should be able to switch to a different organization that they may be also a member of. There is no user accounts system implemented yet, but prepare everything as if it was. We'll add the functionality later.
There are problems with the styles:
- First of all, none of the pages scroll.
- Most or all of the pages break on jquery error.
- I see that the _Layout is not being used by the current Index.cshtml for the dashboard, which is good obviously as that is an app and not a standardized page. But the layout seems to have some problems like the scrolling.
- The top menu bar is pure white with black menu items. That seems too harsh and something that I suppose is not what you intended.
- The FAQ questions are also on pure white background, but in their case the text is really light gray so it is almost invisible in them.
- The footer is separated by a harsh white line again and only has the copyright mark, which is basically completely invisible as it has virtually the same color as the background. The only visible is the "Privacy" word, which is a link, which makes it visible.
- The home page has the same styling color problems - light text in boxes with white background and it does not scroll.
- There is no hero background image. Create or find something fitting.
- Create the application icon. I like the "robot" icon from the FontAwesome font set, but it should maybe have some icicles from the head to look frozen - just because the application is an automated/robotic issue management system and it is called Aisman, which sounds like Iceman.
- The pricing page looks nice but also seems to e missing something.
We also need to improve the texts.
This is kind of what the application does:
The user creates a project and either writes a free-form text instructions or selects and adds notes to previously automatically created issues and Aisman generates a structured prompt for the coding agent running within a dev environment. The agent implements the required features and if part of the prompt was a new free-form text, identifies all the discrete issues from the free-form text, links them together in parent-child and other types of relationships and generates and output file, which Aisman detects automatically, parses and updates the system with new or fixed issues. The user can then, having a list of issues created in that chat session/step, go through one by one and confirm by running the actual program that they have been implemented and that they work correctly and look as the user wanted them to look. If all is correct the user marks that issue as implemented. If not, the user can add a note of what is not correct not having to repeat himself and Aisman will again on command generate new structured instructions for the coding agent containing all the relevant information, parent or otherwise related issues etc. The user either pastes this generated input instruction set to the coding agent chat window from the clipboard which was automatically updated with the generated input, or, if the agent is able to monitor a directory, creates an input file immediately, which the coding agent registers and populates the input chat window with. Then the user just need to send it, wait for implementation and result report again. Rinse and repeat.
For the landing page replace the current two-line subtitle with a fitting text reflecting the above and the below text. The below text should, after revision by you, used on the front page as well.
"Vibe coding with automatic issue management. You just chat and Aisman records the features being implemented.
Don't get lost in which features have been implemented and which were not. No need to create issues manually. Just write free text with mixed features and track the implementation of issues automatically created from your prompt.
Let the agent create and implement issues for you. You just then test and confirm that they have been implemented and are working as expected. Need to improve a feature or fix it? Just note it right into the automatically created issue in Aisman and then generate new multi-issue prompts for the coding agent to implement and report on. It works in any dev enviroment and with any coding agent that follows rule/instruction files."
Additionally, on the AI sessions page above the tabs and right to the session tile and date, show counters similar to those on the Project detail page, counting ISSUES CREATED / NOT STARTED / STARTED / FINISHED where the issues created is a count of all the issues created in this session, not started a count of issues skipped by the coding agent for some reason, started those that it reported as implemented but not confirmed yet by the user as completed and finished those that were marked completed by the user.
To the Workflow tab put also aligned to theright into the sub-tab bar number of issues created or added (from previous sessions) and finished. Make a nice progress bar there for it to show the percentage of completion of that session's tasks.
The project root folder in both the project detail edit view as well as in the "Project Root Folder Required" popup dialog when switching to another project that does not have a root set should be directory pickers like on the Settins pages for the instruction files.
On the "New detected AI outputs do not show the buttons if no new files have been detected. If that is te case show a message that "No new file were detected." However, if there are new files show the buttons on the right and on the left put a short explanation of what this list actually shows / what is expected from the user to be done.
In Ai Session > Session steps tab show also a message if there are no steps for this session yet similarly as the Issues created tab shows.
The Settings > AI tool instructions tab show the "This file does not have the required reference to the aisman-instructions.md file.". First of all, it is now suposed to read "This file does not have the required reference to the Aisman instructions.md file." and second of all I'm looking right at it on the first two lines which are:
# IMPORTANT PROMPT PARSING INSTRUCTIONS:
Follow **strictly** the instructions in `./.aisman/instructions.md`.
Maybe the code gets confused with the space in front of the " Follow"? Maybe the format of the directory location starting with dot is wrong? Whatever it is fix it. Make the test more forgiving. The first line has to be exact like that, but can still not start on the first character potentially. The second line should start with "Follow **strictly** the instructions in" followed by the file's path.
I'm thinking that the start of the path "./" actually means "current directory". What it is supposed to mean thought is "project root"... So lets change it everywhere to "<project root>/" (so the instructions will become `<project root>/.aisman/instructions.md`.
The "Aisman instructions" Settings tab is now supposed to show the file stored in the path just mentioned, that is a path stored locally on the clients machine. It it does not find it there it is supposed to load it from the server from wwwroot/templates/aisman-instructions-template.md and save it there as instructions.md and at the same time save its content to the database for this current user (users not yet implemented). But before that happens, it should first compare the current local file contents with the contants of the latest server version that it just downloaded. It they are te same then tell to the user that fact and that nothing changed. If they are different, then compare the loaded server version with the per-user saved database version and if those two are the same, then tell the user that the server version has not changed, but that the user edited their local file and show them the differences. If all the versions - the latest from server, the previous latest saved by the user to the database for reference and the current user's local file versions - are different, then tell that to the user and show them it should show all three - the original previous version, the loaded a three split text comparison, where the first column shows the original server version, the second the user-edited local version and the third the latest server file version and the first should compare to the third and the second also to the third so that the user can edit the third to include his own changes to the latest server version that is about to overwrite or create new the <project root>/.aisman/instructions.md file.
The "AI tool instructions" saves to the Downloads directory instead of saving it to the directory for the selected Agent. And it is not supposed to create a new file if the file already exists there, but overwrite it.
The Markdown box here on that tab shows in Edit mode. It should also default to the Preview mode.
Good job on the radio buttons in General settings, but the "Save all" button is supposed to be to the right of the panel's title, not in the dynamic group of settings.
When the user selecs the "Custom instruction file" setting he is already correctly being switched to the "AI tool instructions" tab and to the [Custom instructions file] option in the Agent dropdown. Show to the user a modal dialog explaining why that happened and that he is to make sure that the file is created and contains the Aisman instructions header and description. Explain that if not, the user should switch back to the default tool instruction files option in General settings where he just came from.
Looking at the implemented code, the "verify root" functionality is supposed to ensure that the directory exists ON THE CLIENT MACHINE, not on the server, so fix that. Same with detecting new output files and saving the generated input files to ".aisman/inputs". This all has to work on the client machine. Right now it is the same project only because I'm using Aisman on itself. But the .aisman directory is supposed to be created and maintained ON THE CLIENT MACHINE, NOT ON THE SERVER!!!!!
Add the following section to the input file definition of the Aisman instructions file template:
{
session:{
id: 23 // Passes the current server session Id to the input
},
step: {
nextNum: 2 // Passes the ordinal number of the
}
...
}
and add the options to the description table below the code.
And implement automatic saving of the file with the name session.id-step.nextNum fotmatted as 000_000-00 (I have previously said that the format should be "000 000-00", but now I added the underscore, so apply this change in the existing code.
The output file definition also needs to be updated with session id and the step id, only name the step id there as step.num. Both of them should match the matching input file's properties. Add that as an instruction there, too.